1. Packages
  2. Pagerduty Provider
  3. API Docs
  4. ServiceCustomFieldValue
PagerDuty v4.25.1 published on Saturday, Jun 14, 2025 by Pulumi

pagerduty.ServiceCustomFieldValue

Explore with Pulumi AI

pagerduty logo
PagerDuty v4.25.1 published on Saturday, Jun 14, 2025 by Pulumi

    A service custom field value allows you to set values for custom fields on a PagerDuty service. These values provide additional context for services and can be used for filtering, search, and analytics.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as pagerduty from "@pulumi/pagerduty";
    
    // First, create a service custom field
    const environment = new pagerduty.ServiceCustomField("environment", {
        name: "environment",
        displayName: "Environment",
        dataType: "string",
        fieldType: "single_value",
        description: "The environment this service runs in",
    });
    // Create a service
    const example = new pagerduty.Service("example", {
        name: "Example Service",
        autoResolveTimeout: "14400",
        acknowledgementTimeout: "600",
        escalationPolicy: examplePagerdutyEscalationPolicy.id,
    });
    // Set a custom field value on the service
    const exampleServiceCustomFieldValue = new pagerduty.ServiceCustomFieldValue("example", {
        serviceId: example.id,
        customFields: [{
            name: environment.name,
            value: JSON.stringify("production"),
        }],
    });
    // Set multiple custom field values on a service
    const region = new pagerduty.ServiceCustomField("region", {
        name: "region",
        displayName: "Region",
        dataType: "string",
        fieldType: "single_value",
        description: "The region this service is deployed in",
    });
    const multipleExample = new pagerduty.ServiceCustomFieldValue("multiple_example", {
        serviceId: example.id,
        customFields: [
            {
                name: environment.name,
                value: JSON.stringify("production"),
            },
            {
                name: region.name,
                value: JSON.stringify("us-east-1"),
            },
        ],
    });
    // Example with a boolean field
    const isCritical = new pagerduty.ServiceCustomField("is_critical", {
        name: "is_critical",
        displayName: "Is Critical",
        dataType: "boolean",
        fieldType: "single_value",
        description: "Whether this service is critical",
    });
    const booleanExample = new pagerduty.ServiceCustomFieldValue("boolean_example", {
        serviceId: example.id,
        customFields: [{
            name: isCritical.name,
            value: JSON.stringify(true),
        }],
    });
    // Example with a multi-value field
    const regions = new pagerduty.ServiceCustomField("regions", {
        name: "regions",
        displayName: "AWS Regions",
        dataType: "string",
        fieldType: "multi_value_fixed",
        description: "AWS regions where this service is deployed",
        fieldOptions: [
            {
                value: "us-east-1",
                dataType: "string",
            },
            {
                value: "us-west-1",
                dataType: "string",
            },
        ],
    });
    const multiValueExample = new pagerduty.ServiceCustomFieldValue("multi_value_example", {
        serviceId: example.id,
        customFields: [{
            name: regions.name,
            value: JSON.stringify([
                "us-east-1",
                "us-west-1",
            ]),
        }],
    });
    
    import pulumi
    import json
    import pulumi_pagerduty as pagerduty
    
    # First, create a service custom field
    environment = pagerduty.ServiceCustomField("environment",
        name="environment",
        display_name="Environment",
        data_type="string",
        field_type="single_value",
        description="The environment this service runs in")
    # Create a service
    example = pagerduty.Service("example",
        name="Example Service",
        auto_resolve_timeout="14400",
        acknowledgement_timeout="600",
        escalation_policy=example_pagerduty_escalation_policy["id"])
    # Set a custom field value on the service
    example_service_custom_field_value = pagerduty.ServiceCustomFieldValue("example",
        service_id=example.id,
        custom_fields=[{
            "name": environment.name,
            "value": json.dumps("production"),
        }])
    # Set multiple custom field values on a service
    region = pagerduty.ServiceCustomField("region",
        name="region",
        display_name="Region",
        data_type="string",
        field_type="single_value",
        description="The region this service is deployed in")
    multiple_example = pagerduty.ServiceCustomFieldValue("multiple_example",
        service_id=example.id,
        custom_fields=[
            {
                "name": environment.name,
                "value": json.dumps("production"),
            },
            {
                "name": region.name,
                "value": json.dumps("us-east-1"),
            },
        ])
    # Example with a boolean field
    is_critical = pagerduty.ServiceCustomField("is_critical",
        name="is_critical",
        display_name="Is Critical",
        data_type="boolean",
        field_type="single_value",
        description="Whether this service is critical")
    boolean_example = pagerduty.ServiceCustomFieldValue("boolean_example",
        service_id=example.id,
        custom_fields=[{
            "name": is_critical.name,
            "value": json.dumps(True),
        }])
    # Example with a multi-value field
    regions = pagerduty.ServiceCustomField("regions",
        name="regions",
        display_name="AWS Regions",
        data_type="string",
        field_type="multi_value_fixed",
        description="AWS regions where this service is deployed",
        field_options=[
            {
                "value": "us-east-1",
                "data_type": "string",
            },
            {
                "value": "us-west-1",
                "data_type": "string",
            },
        ])
    multi_value_example = pagerduty.ServiceCustomFieldValue("multi_value_example",
        service_id=example.id,
        custom_fields=[{
            "name": regions.name,
            "value": json.dumps([
                "us-east-1",
                "us-west-1",
            ]),
        }])
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-pagerduty/sdk/v4/go/pagerduty"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// First, create a service custom field
    		environment, err := pagerduty.NewServiceCustomField(ctx, "environment", &pagerduty.ServiceCustomFieldArgs{
    			Name:        pulumi.String("environment"),
    			DisplayName: pulumi.String("Environment"),
    			DataType:    pulumi.String("string"),
    			FieldType:   pulumi.String("single_value"),
    			Description: pulumi.String("The environment this service runs in"),
    		})
    		if err != nil {
    			return err
    		}
    		// Create a service
    		example, err := pagerduty.NewService(ctx, "example", &pagerduty.ServiceArgs{
    			Name:                   pulumi.String("Example Service"),
    			AutoResolveTimeout:     pulumi.String("14400"),
    			AcknowledgementTimeout: pulumi.String("600"),
    			EscalationPolicy:       pulumi.Any(examplePagerdutyEscalationPolicy.Id),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal("production")
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		// Set a custom field value on the service
    		_, err = pagerduty.NewServiceCustomFieldValue(ctx, "example", &pagerduty.ServiceCustomFieldValueArgs{
    			ServiceId: example.ID(),
    			CustomFields: pagerduty.ServiceCustomFieldValueCustomFieldArray{
    				&pagerduty.ServiceCustomFieldValueCustomFieldArgs{
    					Name:  environment.Name,
    					Value: pulumi.String(json0),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Set multiple custom field values on a service
    		region, err := pagerduty.NewServiceCustomField(ctx, "region", &pagerduty.ServiceCustomFieldArgs{
    			Name:        pulumi.String("region"),
    			DisplayName: pulumi.String("Region"),
    			DataType:    pulumi.String("string"),
    			FieldType:   pulumi.String("single_value"),
    			Description: pulumi.String("The region this service is deployed in"),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON1, err := json.Marshal("production")
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		tmpJSON2, err := json.Marshal("us-east-1")
    		if err != nil {
    			return err
    		}
    		json2 := string(tmpJSON2)
    		_, err = pagerduty.NewServiceCustomFieldValue(ctx, "multiple_example", &pagerduty.ServiceCustomFieldValueArgs{
    			ServiceId: example.ID(),
    			CustomFields: pagerduty.ServiceCustomFieldValueCustomFieldArray{
    				&pagerduty.ServiceCustomFieldValueCustomFieldArgs{
    					Name:  environment.Name,
    					Value: pulumi.String(json1),
    				},
    				&pagerduty.ServiceCustomFieldValueCustomFieldArgs{
    					Name:  region.Name,
    					Value: pulumi.String(json2),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Example with a boolean field
    		isCritical, err := pagerduty.NewServiceCustomField(ctx, "is_critical", &pagerduty.ServiceCustomFieldArgs{
    			Name:        pulumi.String("is_critical"),
    			DisplayName: pulumi.String("Is Critical"),
    			DataType:    pulumi.String("boolean"),
    			FieldType:   pulumi.String("single_value"),
    			Description: pulumi.String("Whether this service is critical"),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON3, err := json.Marshal(true)
    		if err != nil {
    			return err
    		}
    		json3 := string(tmpJSON3)
    		_, err = pagerduty.NewServiceCustomFieldValue(ctx, "boolean_example", &pagerduty.ServiceCustomFieldValueArgs{
    			ServiceId: example.ID(),
    			CustomFields: pagerduty.ServiceCustomFieldValueCustomFieldArray{
    				&pagerduty.ServiceCustomFieldValueCustomFieldArgs{
    					Name:  isCritical.Name,
    					Value: pulumi.String(json3),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Example with a multi-value field
    		regions, err := pagerduty.NewServiceCustomField(ctx, "regions", &pagerduty.ServiceCustomFieldArgs{
    			Name:        pulumi.String("regions"),
    			DisplayName: pulumi.String("AWS Regions"),
    			DataType:    pulumi.String("string"),
    			FieldType:   pulumi.String("multi_value_fixed"),
    			Description: pulumi.String("AWS regions where this service is deployed"),
    			FieldOptions: pagerduty.ServiceCustomFieldFieldOptionArray{
    				&pagerduty.ServiceCustomFieldFieldOptionArgs{
    					Value:    pulumi.String("us-east-1"),
    					DataType: pulumi.String("string"),
    				},
    				&pagerduty.ServiceCustomFieldFieldOptionArgs{
    					Value:    pulumi.String("us-west-1"),
    					DataType: pulumi.String("string"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON4, err := json.Marshal([]string{
    			"us-east-1",
    			"us-west-1",
    		})
    		if err != nil {
    			return err
    		}
    		json4 := string(tmpJSON4)
    		_, err = pagerduty.NewServiceCustomFieldValue(ctx, "multi_value_example", &pagerduty.ServiceCustomFieldValueArgs{
    			ServiceId: example.ID(),
    			CustomFields: pagerduty.ServiceCustomFieldValueCustomFieldArray{
    				&pagerduty.ServiceCustomFieldValueCustomFieldArgs{
    					Name:  regions.Name,
    					Value: pulumi.String(json4),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Pagerduty = Pulumi.Pagerduty;
    
    return await Deployment.RunAsync(() => 
    {
        // First, create a service custom field
        var environment = new Pagerduty.ServiceCustomField("environment", new()
        {
            Name = "environment",
            DisplayName = "Environment",
            DataType = "string",
            FieldType = "single_value",
            Description = "The environment this service runs in",
        });
    
        // Create a service
        var example = new Pagerduty.Service("example", new()
        {
            Name = "Example Service",
            AutoResolveTimeout = "14400",
            AcknowledgementTimeout = "600",
            EscalationPolicy = examplePagerdutyEscalationPolicy.Id,
        });
    
        // Set a custom field value on the service
        var exampleServiceCustomFieldValue = new Pagerduty.ServiceCustomFieldValue("example", new()
        {
            ServiceId = example.Id,
            CustomFields = new[]
            {
                new Pagerduty.Inputs.ServiceCustomFieldValueCustomFieldArgs
                {
                    Name = environment.Name,
                    Value = JsonSerializer.Serialize("production"),
                },
            },
        });
    
        // Set multiple custom field values on a service
        var region = new Pagerduty.ServiceCustomField("region", new()
        {
            Name = "region",
            DisplayName = "Region",
            DataType = "string",
            FieldType = "single_value",
            Description = "The region this service is deployed in",
        });
    
        var multipleExample = new Pagerduty.ServiceCustomFieldValue("multiple_example", new()
        {
            ServiceId = example.Id,
            CustomFields = new[]
            {
                new Pagerduty.Inputs.ServiceCustomFieldValueCustomFieldArgs
                {
                    Name = environment.Name,
                    Value = JsonSerializer.Serialize("production"),
                },
                new Pagerduty.Inputs.ServiceCustomFieldValueCustomFieldArgs
                {
                    Name = region.Name,
                    Value = JsonSerializer.Serialize("us-east-1"),
                },
            },
        });
    
        // Example with a boolean field
        var isCritical = new Pagerduty.ServiceCustomField("is_critical", new()
        {
            Name = "is_critical",
            DisplayName = "Is Critical",
            DataType = "boolean",
            FieldType = "single_value",
            Description = "Whether this service is critical",
        });
    
        var booleanExample = new Pagerduty.ServiceCustomFieldValue("boolean_example", new()
        {
            ServiceId = example.Id,
            CustomFields = new[]
            {
                new Pagerduty.Inputs.ServiceCustomFieldValueCustomFieldArgs
                {
                    Name = isCritical.Name,
                    Value = JsonSerializer.Serialize(true),
                },
            },
        });
    
        // Example with a multi-value field
        var regions = new Pagerduty.ServiceCustomField("regions", new()
        {
            Name = "regions",
            DisplayName = "AWS Regions",
            DataType = "string",
            FieldType = "multi_value_fixed",
            Description = "AWS regions where this service is deployed",
            FieldOptions = new[]
            {
                new Pagerduty.Inputs.ServiceCustomFieldFieldOptionArgs
                {
                    Value = "us-east-1",
                    DataType = "string",
                },
                new Pagerduty.Inputs.ServiceCustomFieldFieldOptionArgs
                {
                    Value = "us-west-1",
                    DataType = "string",
                },
            },
        });
    
        var multiValueExample = new Pagerduty.ServiceCustomFieldValue("multi_value_example", new()
        {
            ServiceId = example.Id,
            CustomFields = new[]
            {
                new Pagerduty.Inputs.ServiceCustomFieldValueCustomFieldArgs
                {
                    Name = regions.Name,
                    Value = JsonSerializer.Serialize(new[]
                    {
                        "us-east-1",
                        "us-west-1",
                    }),
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.pagerduty.ServiceCustomField;
    import com.pulumi.pagerduty.ServiceCustomFieldArgs;
    import com.pulumi.pagerduty.Service;
    import com.pulumi.pagerduty.ServiceArgs;
    import com.pulumi.pagerduty.ServiceCustomFieldValue;
    import com.pulumi.pagerduty.ServiceCustomFieldValueArgs;
    import com.pulumi.pagerduty.inputs.ServiceCustomFieldValueCustomFieldArgs;
    import com.pulumi.pagerduty.inputs.ServiceCustomFieldFieldOptionArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // First, create a service custom field
            var environment = new ServiceCustomField("environment", ServiceCustomFieldArgs.builder()
                .name("environment")
                .displayName("Environment")
                .dataType("string")
                .fieldType("single_value")
                .description("The environment this service runs in")
                .build());
    
            // Create a service
            var example = new Service("example", ServiceArgs.builder()
                .name("Example Service")
                .autoResolveTimeout("14400")
                .acknowledgementTimeout("600")
                .escalationPolicy(examplePagerdutyEscalationPolicy.id())
                .build());
    
            // Set a custom field value on the service
            var exampleServiceCustomFieldValue = new ServiceCustomFieldValue("exampleServiceCustomFieldValue", ServiceCustomFieldValueArgs.builder()
                .serviceId(example.id())
                .customFields(ServiceCustomFieldValueCustomFieldArgs.builder()
                    .name(environment.name())
                    .value(serializeJson(
                        "production"))
                    .build())
                .build());
    
            // Set multiple custom field values on a service
            var region = new ServiceCustomField("region", ServiceCustomFieldArgs.builder()
                .name("region")
                .displayName("Region")
                .dataType("string")
                .fieldType("single_value")
                .description("The region this service is deployed in")
                .build());
    
            var multipleExample = new ServiceCustomFieldValue("multipleExample", ServiceCustomFieldValueArgs.builder()
                .serviceId(example.id())
                .customFields(            
                    ServiceCustomFieldValueCustomFieldArgs.builder()
                        .name(environment.name())
                        .value(serializeJson(
                            "production"))
                        .build(),
                    ServiceCustomFieldValueCustomFieldArgs.builder()
                        .name(region.name())
                        .value(serializeJson(
                            "us-east-1"))
                        .build())
                .build());
    
            // Example with a boolean field
            var isCritical = new ServiceCustomField("isCritical", ServiceCustomFieldArgs.builder()
                .name("is_critical")
                .displayName("Is Critical")
                .dataType("boolean")
                .fieldType("single_value")
                .description("Whether this service is critical")
                .build());
    
            var booleanExample = new ServiceCustomFieldValue("booleanExample", ServiceCustomFieldValueArgs.builder()
                .serviceId(example.id())
                .customFields(ServiceCustomFieldValueCustomFieldArgs.builder()
                    .name(isCritical.name())
                    .value(serializeJson(
                        true))
                    .build())
                .build());
    
            // Example with a multi-value field
            var regions = new ServiceCustomField("regions", ServiceCustomFieldArgs.builder()
                .name("regions")
                .displayName("AWS Regions")
                .dataType("string")
                .fieldType("multi_value_fixed")
                .description("AWS regions where this service is deployed")
                .fieldOptions(            
                    ServiceCustomFieldFieldOptionArgs.builder()
                        .value("us-east-1")
                        .dataType("string")
                        .build(),
                    ServiceCustomFieldFieldOptionArgs.builder()
                        .value("us-west-1")
                        .dataType("string")
                        .build())
                .build());
    
            var multiValueExample = new ServiceCustomFieldValue("multiValueExample", ServiceCustomFieldValueArgs.builder()
                .serviceId(example.id())
                .customFields(ServiceCustomFieldValueCustomFieldArgs.builder()
                    .name(regions.name())
                    .value(serializeJson(
                        jsonArray(
                            "us-east-1", 
                            "us-west-1"
                        )))
                    .build())
                .build());
    
        }
    }
    
    resources:
      # First, create a service custom field
      environment:
        type: pagerduty:ServiceCustomField
        properties:
          name: environment
          displayName: Environment
          dataType: string
          fieldType: single_value
          description: The environment this service runs in
      # Create a service
      example:
        type: pagerduty:Service
        properties:
          name: Example Service
          autoResolveTimeout: 14400
          acknowledgementTimeout: 600
          escalationPolicy: ${examplePagerdutyEscalationPolicy.id}
      # Set a custom field value on the service
      exampleServiceCustomFieldValue:
        type: pagerduty:ServiceCustomFieldValue
        name: example
        properties:
          serviceId: ${example.id}
          customFields:
            - name: ${environment.name}
              value:
                fn::toJSON: production
      # Set multiple custom field values on a service
      region:
        type: pagerduty:ServiceCustomField
        properties:
          name: region
          displayName: Region
          dataType: string
          fieldType: single_value
          description: The region this service is deployed in
      multipleExample:
        type: pagerduty:ServiceCustomFieldValue
        name: multiple_example
        properties:
          serviceId: ${example.id}
          customFields:
            - name: ${environment.name}
              value:
                fn::toJSON: production
            - name: ${region.name}
              value:
                fn::toJSON: us-east-1
      # Example with a boolean field
      isCritical:
        type: pagerduty:ServiceCustomField
        name: is_critical
        properties:
          name: is_critical
          displayName: Is Critical
          dataType: boolean
          fieldType: single_value
          description: Whether this service is critical
      booleanExample:
        type: pagerduty:ServiceCustomFieldValue
        name: boolean_example
        properties:
          serviceId: ${example.id}
          customFields:
            - name: ${isCritical.name}
              value:
                fn::toJSON: true
      # Example with a multi-value field
      regions:
        type: pagerduty:ServiceCustomField
        properties:
          name: regions
          displayName: AWS Regions
          dataType: string
          fieldType: multi_value_fixed
          description: AWS regions where this service is deployed
          fieldOptions:
            - value: us-east-1
              dataType: string
            - value: us-west-1
              dataType: string
      multiValueExample:
        type: pagerduty:ServiceCustomFieldValue
        name: multi_value_example
        properties:
          serviceId: ${example.id}
          customFields:
            - name: ${regions.name}
              value:
                fn::toJSON:
                  - us-east-1
                  - us-west-1
    

    Create ServiceCustomFieldValue Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ServiceCustomFieldValue(name: string, args: ServiceCustomFieldValueArgs, opts?: CustomResourceOptions);
    @overload
    def ServiceCustomFieldValue(resource_name: str,
                                args: ServiceCustomFieldValueArgs,
                                opts: Optional[ResourceOptions] = None)
    
    @overload
    def ServiceCustomFieldValue(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                custom_fields: Optional[Sequence[ServiceCustomFieldValueCustomFieldArgs]] = None,
                                service_id: Optional[str] = None)
    func NewServiceCustomFieldValue(ctx *Context, name string, args ServiceCustomFieldValueArgs, opts ...ResourceOption) (*ServiceCustomFieldValue, error)
    public ServiceCustomFieldValue(string name, ServiceCustomFieldValueArgs args, CustomResourceOptions? opts = null)
    public ServiceCustomFieldValue(String name, ServiceCustomFieldValueArgs args)
    public ServiceCustomFieldValue(String name, ServiceCustomFieldValueArgs args, CustomResourceOptions options)
    
    type: pagerduty:ServiceCustomFieldValue
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ServiceCustomFieldValueArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ServiceCustomFieldValueArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ServiceCustomFieldValueArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ServiceCustomFieldValueArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ServiceCustomFieldValueArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var serviceCustomFieldValueResource = new Pagerduty.ServiceCustomFieldValue("serviceCustomFieldValueResource", new()
    {
        CustomFields = new[]
        {
            new Pagerduty.Inputs.ServiceCustomFieldValueCustomFieldArgs
            {
                Id = "string",
                Name = "string",
                Value = "string",
            },
        },
        ServiceId = "string",
    });
    
    example, err := pagerduty.NewServiceCustomFieldValue(ctx, "serviceCustomFieldValueResource", &pagerduty.ServiceCustomFieldValueArgs{
    	CustomFields: pagerduty.ServiceCustomFieldValueCustomFieldArray{
    		&pagerduty.ServiceCustomFieldValueCustomFieldArgs{
    			Id:    pulumi.String("string"),
    			Name:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	ServiceId: pulumi.String("string"),
    })
    
    var serviceCustomFieldValueResource = new ServiceCustomFieldValue("serviceCustomFieldValueResource", ServiceCustomFieldValueArgs.builder()
        .customFields(ServiceCustomFieldValueCustomFieldArgs.builder()
            .id("string")
            .name("string")
            .value("string")
            .build())
        .serviceId("string")
        .build());
    
    service_custom_field_value_resource = pagerduty.ServiceCustomFieldValue("serviceCustomFieldValueResource",
        custom_fields=[{
            "id": "string",
            "name": "string",
            "value": "string",
        }],
        service_id="string")
    
    const serviceCustomFieldValueResource = new pagerduty.ServiceCustomFieldValue("serviceCustomFieldValueResource", {
        customFields: [{
            id: "string",
            name: "string",
            value: "string",
        }],
        serviceId: "string",
    });
    
    type: pagerduty:ServiceCustomFieldValue
    properties:
        customFields:
            - id: string
              name: string
              value: string
        serviceId: string
    

    ServiceCustomFieldValue Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The ServiceCustomFieldValue resource accepts the following input properties:

    CustomFields List<ServiceCustomFieldValueCustomField>
    The custom field values to set for the service.
    ServiceId string
    The ID of the service to set custom field values for.
    CustomFields []ServiceCustomFieldValueCustomFieldArgs
    The custom field values to set for the service.
    ServiceId string
    The ID of the service to set custom field values for.
    customFields List<ServiceCustomFieldValueCustomField>
    The custom field values to set for the service.
    serviceId String
    The ID of the service to set custom field values for.
    customFields ServiceCustomFieldValueCustomField[]
    The custom field values to set for the service.
    serviceId string
    The ID of the service to set custom field values for.
    custom_fields Sequence[ServiceCustomFieldValueCustomFieldArgs]
    The custom field values to set for the service.
    service_id str
    The ID of the service to set custom field values for.
    customFields List<Property Map>
    The custom field values to set for the service.
    serviceId String
    The ID of the service to set custom field values for.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ServiceCustomFieldValue resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ServiceCustomFieldValue Resource

    Get an existing ServiceCustomFieldValue resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ServiceCustomFieldValueState, opts?: CustomResourceOptions): ServiceCustomFieldValue
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            custom_fields: Optional[Sequence[ServiceCustomFieldValueCustomFieldArgs]] = None,
            service_id: Optional[str] = None) -> ServiceCustomFieldValue
    func GetServiceCustomFieldValue(ctx *Context, name string, id IDInput, state *ServiceCustomFieldValueState, opts ...ResourceOption) (*ServiceCustomFieldValue, error)
    public static ServiceCustomFieldValue Get(string name, Input<string> id, ServiceCustomFieldValueState? state, CustomResourceOptions? opts = null)
    public static ServiceCustomFieldValue get(String name, Output<String> id, ServiceCustomFieldValueState state, CustomResourceOptions options)
    resources:  _:    type: pagerduty:ServiceCustomFieldValue    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CustomFields List<ServiceCustomFieldValueCustomField>
    The custom field values to set for the service.
    ServiceId string
    The ID of the service to set custom field values for.
    CustomFields []ServiceCustomFieldValueCustomFieldArgs
    The custom field values to set for the service.
    ServiceId string
    The ID of the service to set custom field values for.
    customFields List<ServiceCustomFieldValueCustomField>
    The custom field values to set for the service.
    serviceId String
    The ID of the service to set custom field values for.
    customFields ServiceCustomFieldValueCustomField[]
    The custom field values to set for the service.
    serviceId string
    The ID of the service to set custom field values for.
    custom_fields Sequence[ServiceCustomFieldValueCustomFieldArgs]
    The custom field values to set for the service.
    service_id str
    The ID of the service to set custom field values for.
    customFields List<Property Map>
    The custom field values to set for the service.
    serviceId String
    The ID of the service to set custom field values for.

    Supporting Types

    ServiceCustomFieldValueCustomField, ServiceCustomFieldValueCustomFieldArgs

    Id string
    The ID of the custom field. Either id or name must be provided.
    Name string
    The name of the custom field. Either id or name must be provided.
    Value string
    The value to set for the custom field. Must be provided as a JSON-encoded string matching the field's data type. Use the jsonencode() function to ensure proper formatting.
    Id string
    The ID of the custom field. Either id or name must be provided.
    Name string
    The name of the custom field. Either id or name must be provided.
    Value string
    The value to set for the custom field. Must be provided as a JSON-encoded string matching the field's data type. Use the jsonencode() function to ensure proper formatting.
    id String
    The ID of the custom field. Either id or name must be provided.
    name String
    The name of the custom field. Either id or name must be provided.
    value String
    The value to set for the custom field. Must be provided as a JSON-encoded string matching the field's data type. Use the jsonencode() function to ensure proper formatting.
    id string
    The ID of the custom field. Either id or name must be provided.
    name string
    The name of the custom field. Either id or name must be provided.
    value string
    The value to set for the custom field. Must be provided as a JSON-encoded string matching the field's data type. Use the jsonencode() function to ensure proper formatting.
    id str
    The ID of the custom field. Either id or name must be provided.
    name str
    The name of the custom field. Either id or name must be provided.
    value str
    The value to set for the custom field. Must be provided as a JSON-encoded string matching the field's data type. Use the jsonencode() function to ensure proper formatting.
    id String
    The ID of the custom field. Either id or name must be provided.
    name String
    The name of the custom field. Either id or name must be provided.
    value String
    The value to set for the custom field. Must be provided as a JSON-encoded string matching the field's data type. Use the jsonencode() function to ensure proper formatting.

    Import

    Service custom field values can be imported using the service ID, e.g.

    $ pulumi import pagerduty:index/serviceCustomFieldValue:ServiceCustomFieldValue example PXYZ123
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    PagerDuty pulumi/pulumi-pagerduty
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the pagerduty Terraform Provider.
    pagerduty logo
    PagerDuty v4.25.1 published on Saturday, Jun 14, 2025 by Pulumi