diff --git a/examples/go.mod b/examples/go.mod index 0d58c6bd5..21f5665db 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-datadog/examples/v4 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.105.0 +require github.com/pulumi/pulumi/pkg/v3 v3.107.0 require ( cloud.google.com/go v0.110.10 // indirect @@ -135,7 +135,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.105.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.107.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index d7858952b..015b0cc48 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1467,10 +1467,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/pkg/v3 v3.105.0 h1:bJG1vUiYH2gDF1pfBKlIABDNoJD2LvU1LmjjL+EbvuM= -github.com/pulumi/pulumi/pkg/v3 v3.105.0/go.mod h1:eZAFEFOwE/skElTfwetfyTxPebmWr5vOS5NSU9XwlVw= -github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= -github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= +github.com/pulumi/pulumi/pkg/v3 v3.107.0 h1:HRyIl1c9ur0PVQW+GuFL1APBEuGa/fQQMp3F+WluxW8= +github.com/pulumi/pulumi/pkg/v3 v3.107.0/go.mod h1:7edfZu4FlrXdIn4339tJ+SQX5VKGqbFntmpc8cai0Zg= +github.com/pulumi/pulumi/sdk/v3 v3.107.0 h1:bef+ayh9+4KkAqXih4EjlHfQXRY24NWPwWBIQhBxTjg= +github.com/pulumi/pulumi/sdk/v3 v3.107.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/provider/cmd/pulumi-resource-datadog/schema.json b/provider/cmd/pulumi-resource-datadog/schema.json index 99e96e9d8..a90e123c2 100644 --- a/provider/cmd/pulumi-resource-datadog/schema.json +++ b/provider/cmd/pulumi-resource-datadog/schema.json @@ -72275,7 +72275,7 @@ }, "resources": { "datadog:aws/integration:Integration": { - "description": "Provides a Datadog - Amazon Web Services integration resource. This can be used to create and manage Datadog - Amazon Web Services integration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration\nconst sandbox = new datadog.aws.Integration(\"sandbox\", {\n accountId: \"1234567890\",\n accountSpecificNamespaceRules: {\n auto_scaling: false,\n opsworks: false,\n },\n excludedRegions: [\n \"us-east-1\",\n \"us-west-2\",\n ],\n filterTags: [\"key:value\"],\n hostTags: [\n \"key:value\",\n \"key2:value2\",\n ],\n roleName: \"DatadogAWSIntegrationRole\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration\nsandbox = datadog.aws.Integration(\"sandbox\",\n account_id=\"1234567890\",\n account_specific_namespace_rules={\n \"auto_scaling\": False,\n \"opsworks\": False,\n },\n excluded_regions=[\n \"us-east-1\",\n \"us-west-2\",\n ],\n filter_tags=[\"key:value\"],\n host_tags=[\n \"key:value\",\n \"key2:value2\",\n ],\n role_name=\"DatadogAWSIntegrationRole\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration\n var sandbox = new Datadog.Aws.Integration(\"sandbox\", new()\n {\n AccountId = \"1234567890\",\n AccountSpecificNamespaceRules = \n {\n { \"auto_scaling\", false },\n { \"opsworks\", false },\n },\n ExcludedRegions = new[]\n {\n \"us-east-1\",\n \"us-west-2\",\n },\n FilterTags = new[]\n {\n \"key:value\",\n },\n HostTags = new[]\n {\n \"key:value\",\n \"key2:value2\",\n },\n RoleName = \"DatadogAWSIntegrationRole\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.NewIntegration(ctx, \"sandbox\", \u0026aws.IntegrationArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tAccountSpecificNamespaceRules: pulumi.Map{\n\t\t\t\t\"auto_scaling\": pulumi.Any(false),\n\t\t\t\t\"opsworks\": pulumi.Any(false),\n\t\t\t},\n\t\t\tExcludedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t\tpulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t\tFilterTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key:value\"),\n\t\t\t},\n\t\t\tHostTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key:value\"),\n\t\t\t\tpulumi.String(\"key2:value2\"),\n\t\t\t},\n\t\t\tRoleName: pulumi.String(\"DatadogAWSIntegrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.Integration;\nimport com.pulumi.datadog.aws.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder() \n .accountId(\"1234567890\")\n .accountSpecificNamespaceRules(Map.ofEntries(\n Map.entry(\"auto_scaling\", false),\n Map.entry(\"opsworks\", false)\n ))\n .excludedRegions( \n \"us-east-1\",\n \"us-west-2\")\n .filterTags(\"key:value\")\n .hostTags( \n \"key:value\",\n \"key2:value2\")\n .roleName(\"DatadogAWSIntegrationRole\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration\n sandbox:\n type: datadog:aws:Integration\n properties:\n accountId: '1234567890'\n accountSpecificNamespaceRules:\n auto_scaling: false\n opsworks: false\n excludedRegions:\n - us-east-1\n - us-west-2\n filterTags:\n - key:value\n hostTags:\n - key:value\n - key2:value2\n roleName: DatadogAWSIntegrationRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services integrations can be imported using their account ID and role name separated with a colon (:), while the external_id should be passed by setting an environment variable called EXTERNAL_ID\n\n ```sh\n $ pulumi import datadog:aws/integration:Integration EXTERNAL_ID=${external_id} datadog_integration_aws.test ${account_id}:${role_name}\n```\n\n ", + "description": "Provides a Datadog - Amazon Web Services integration resource. This can be used to create and manage Datadog - Amazon Web Services integration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration\nconst sandbox = new datadog.aws.Integration(\"sandbox\", {\n accountId: \"1234567890\",\n accountSpecificNamespaceRules: {\n auto_scaling: false,\n opsworks: false,\n },\n excludedRegions: [\n \"us-east-1\",\n \"us-west-2\",\n ],\n filterTags: [\"key:value\"],\n hostTags: [\n \"key:value\",\n \"key2:value2\",\n ],\n roleName: \"DatadogAWSIntegrationRole\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration\nsandbox = datadog.aws.Integration(\"sandbox\",\n account_id=\"1234567890\",\n account_specific_namespace_rules={\n \"auto_scaling\": False,\n \"opsworks\": False,\n },\n excluded_regions=[\n \"us-east-1\",\n \"us-west-2\",\n ],\n filter_tags=[\"key:value\"],\n host_tags=[\n \"key:value\",\n \"key2:value2\",\n ],\n role_name=\"DatadogAWSIntegrationRole\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration\n var sandbox = new Datadog.Aws.Integration(\"sandbox\", new()\n {\n AccountId = \"1234567890\",\n AccountSpecificNamespaceRules = \n {\n { \"auto_scaling\", false },\n { \"opsworks\", false },\n },\n ExcludedRegions = new[]\n {\n \"us-east-1\",\n \"us-west-2\",\n },\n FilterTags = new[]\n {\n \"key:value\",\n },\n HostTags = new[]\n {\n \"key:value\",\n \"key2:value2\",\n },\n RoleName = \"DatadogAWSIntegrationRole\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration\n\t\t_, err := aws.NewIntegration(ctx, \"sandbox\", \u0026aws.IntegrationArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tAccountSpecificNamespaceRules: pulumi.Map{\n\t\t\t\t\"auto_scaling\": pulumi.Any(false),\n\t\t\t\t\"opsworks\": pulumi.Any(false),\n\t\t\t},\n\t\t\tExcludedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t\tpulumi.String(\"us-west-2\"),\n\t\t\t},\n\t\t\tFilterTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key:value\"),\n\t\t\t},\n\t\t\tHostTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"key:value\"),\n\t\t\t\tpulumi.String(\"key2:value2\"),\n\t\t\t},\n\t\t\tRoleName: pulumi.String(\"DatadogAWSIntegrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.Integration;\nimport com.pulumi.datadog.aws.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder() \n .accountId(\"1234567890\")\n .accountSpecificNamespaceRules(Map.ofEntries(\n Map.entry(\"auto_scaling\", false),\n Map.entry(\"opsworks\", false)\n ))\n .excludedRegions( \n \"us-east-1\",\n \"us-west-2\")\n .filterTags(\"key:value\")\n .hostTags( \n \"key:value\",\n \"key2:value2\")\n .roleName(\"DatadogAWSIntegrationRole\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration\n sandbox:\n type: datadog:aws:Integration\n properties:\n accountId: '1234567890'\n accountSpecificNamespaceRules:\n auto_scaling: false\n opsworks: false\n excludedRegions:\n - us-east-1\n - us-west-2\n filterTags:\n - key:value\n hostTags:\n - key:value\n - key2:value2\n roleName: DatadogAWSIntegrationRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services integrations can be imported using their account ID and role name separated with a colon (:), while the external_id should be passed by setting an environment variable called EXTERNAL_ID\n\n ```sh\n $ pulumi import datadog:aws/integration:Integration EXTERNAL_ID=${external_id} datadog_integration_aws.test ${account_id}:${role_name}\n```\n\n ", "properties": { "accessKeyId": { "type": "string", @@ -72545,7 +72545,7 @@ } }, "datadog:aws/integrationLambdaArn:IntegrationLambdaArn": { - "description": "Provides a Datadog - Amazon Web Services integration Lambda ARN resource. This can be used to create and manage the log collection Lambdas for an account.\n\nUpdate operations are currently not supported with datadog API so any change forces a new resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration Lambda ARN\nconst mainCollector = new datadog.aws.IntegrationLambdaArn(\"mainCollector\", {\n accountId: \"1234567890\",\n lambdaArn: \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration Lambda ARN\nmain_collector = datadog.aws.IntegrationLambdaArn(\"mainCollector\",\n account_id=\"1234567890\",\n lambda_arn=\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration Lambda ARN\n var mainCollector = new Datadog.Aws.IntegrationLambdaArn(\"mainCollector\", new()\n {\n AccountId = \"1234567890\",\n LambdaArn = \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.NewIntegrationLambdaArn(ctx, \"mainCollector\", \u0026aws.IntegrationLambdaArnArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tLambdaArn: pulumi.String(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLambdaArn;\nimport com.pulumi.datadog.aws.IntegrationLambdaArnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mainCollector = new IntegrationLambdaArn(\"mainCollector\", IntegrationLambdaArnArgs.builder() \n .accountId(\"1234567890\")\n .lambdaArn(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration Lambda ARN\n mainCollector:\n type: datadog:aws:IntegrationLambdaArn\n properties:\n accountId: '1234567890'\n lambdaArn: arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services Lambda ARN integrations can be imported using their account_id and lambda_arn separated with a space (` `).\n\n ```sh\n $ pulumi import datadog:aws/integrationLambdaArn:IntegrationLambdaArn test \"1234567890 arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"\n```\n\n ", + "description": "Provides a Datadog - Amazon Web Services integration Lambda ARN resource. This can be used to create and manage the log collection Lambdas for an account.\n\nUpdate operations are currently not supported with datadog API so any change forces a new resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration Lambda ARN\nconst mainCollector = new datadog.aws.IntegrationLambdaArn(\"mainCollector\", {\n accountId: \"1234567890\",\n lambdaArn: \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration Lambda ARN\nmain_collector = datadog.aws.IntegrationLambdaArn(\"mainCollector\",\n account_id=\"1234567890\",\n lambda_arn=\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration Lambda ARN\n var mainCollector = new Datadog.Aws.IntegrationLambdaArn(\"mainCollector\", new()\n {\n AccountId = \"1234567890\",\n LambdaArn = \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration Lambda ARN\n\t\t_, err := aws.NewIntegrationLambdaArn(ctx, \"mainCollector\", \u0026aws.IntegrationLambdaArnArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tLambdaArn: pulumi.String(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLambdaArn;\nimport com.pulumi.datadog.aws.IntegrationLambdaArnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mainCollector = new IntegrationLambdaArn(\"mainCollector\", IntegrationLambdaArnArgs.builder() \n .accountId(\"1234567890\")\n .lambdaArn(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration Lambda ARN\n mainCollector:\n type: datadog:aws:IntegrationLambdaArn\n properties:\n accountId: '1234567890'\n lambdaArn: arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services Lambda ARN integrations can be imported using their account_id and lambda_arn separated with a space (` `).\n\n ```sh\n $ pulumi import datadog:aws/integrationLambdaArn:IntegrationLambdaArn test \"1234567890 arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"\n```\n\n ", "properties": { "accountId": { "type": "string", @@ -72594,7 +72594,7 @@ } }, "datadog:aws/integrationLogCollection:IntegrationLogCollection": { - "description": "Provides a Datadog - Amazon Web Services integration log collection resource. This can be used to manage which AWS services logs are collected from for an account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration log collection\nconst main = new datadog.aws.IntegrationLogCollection(\"main\", {\n accountId: \"1234567890\",\n services: [\"lambda\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration log collection\nmain = datadog.aws.IntegrationLogCollection(\"main\",\n account_id=\"1234567890\",\n services=[\"lambda\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration log collection\n var main = new Datadog.Aws.IntegrationLogCollection(\"main\", new()\n {\n AccountId = \"1234567890\",\n Services = new[]\n {\n \"lambda\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.NewIntegrationLogCollection(ctx, \"main\", \u0026aws.IntegrationLogCollectionArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLogCollection;\nimport com.pulumi.datadog.aws.IntegrationLogCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new IntegrationLogCollection(\"main\", IntegrationLogCollectionArgs.builder() \n .accountId(\"1234567890\")\n .services(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration log collection\n main:\n type: datadog:aws:IntegrationLogCollection\n properties:\n accountId: '1234567890'\n services:\n - lambda\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services log collection integrations can be imported using the `account ID`.\n\n ```sh\n $ pulumi import datadog:aws/integrationLogCollection:IntegrationLogCollection test 1234567890\n```\n\n ", + "description": "Provides a Datadog - Amazon Web Services integration log collection resource. This can be used to manage which AWS services logs are collected from for an account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration log collection\nconst main = new datadog.aws.IntegrationLogCollection(\"main\", {\n accountId: \"1234567890\",\n services: [\"lambda\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration log collection\nmain = datadog.aws.IntegrationLogCollection(\"main\",\n account_id=\"1234567890\",\n services=[\"lambda\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration log collection\n var main = new Datadog.Aws.IntegrationLogCollection(\"main\", new()\n {\n AccountId = \"1234567890\",\n Services = new[]\n {\n \"lambda\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration log collection\n\t\t_, err := aws.NewIntegrationLogCollection(ctx, \"main\", \u0026aws.IntegrationLogCollectionArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLogCollection;\nimport com.pulumi.datadog.aws.IntegrationLogCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new IntegrationLogCollection(\"main\", IntegrationLogCollectionArgs.builder() \n .accountId(\"1234567890\")\n .services(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration log collection\n main:\n type: datadog:aws:IntegrationLogCollection\n properties:\n accountId: '1234567890'\n services:\n - lambda\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services log collection integrations can be imported using the `account ID`.\n\n ```sh\n $ pulumi import datadog:aws/integrationLogCollection:IntegrationLogCollection test 1234567890\n```\n\n ", "properties": { "accountId": { "type": "string", @@ -72650,7 +72650,7 @@ } }, "datadog:aws/integrationTagFilter:IntegrationTagFilter": { - "description": "Provides a Datadog AWS tag filter resource. This can be used to create and manage Datadog AWS tag filters.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration tag filter\nconst foo = new datadog.aws.IntegrationTagFilter(\"foo\", {\n accountId: \"123456789010\",\n namespace: \"sqs\",\n tagFilterStr: \"key:value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration tag filter\nfoo = datadog.aws.IntegrationTagFilter(\"foo\",\n account_id=\"123456789010\",\n namespace=\"sqs\",\n tag_filter_str=\"key:value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration tag filter\n var foo = new Datadog.Aws.IntegrationTagFilter(\"foo\", new()\n {\n AccountId = \"123456789010\",\n Namespace = \"sqs\",\n TagFilterStr = \"key:value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.NewIntegrationTagFilter(ctx, \"foo\", \u0026aws.IntegrationTagFilterArgs{\n\t\t\tAccountId: pulumi.String(\"123456789010\"),\n\t\t\tNamespace: pulumi.String(\"sqs\"),\n\t\t\tTagFilterStr: pulumi.String(\"key:value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationTagFilter;\nimport com.pulumi.datadog.aws.IntegrationTagFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new IntegrationTagFilter(\"foo\", IntegrationTagFilterArgs.builder() \n .accountId(\"123456789010\")\n .namespace(\"sqs\")\n .tagFilterStr(\"key:value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration tag filter\n foo:\n type: datadog:aws:IntegrationTagFilter\n properties:\n accountId: '123456789010'\n namespace: sqs\n tagFilterStr: key:value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services log filter resource can be imported using their account ID and namespace separated with a colon (:).\n\n ```sh\n $ pulumi import datadog:aws/integrationTagFilter:IntegrationTagFilter foo ${account_id}:${namespace}\n```\n\n ", + "description": "Provides a Datadog AWS tag filter resource. This can be used to create and manage Datadog AWS tag filters.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Amazon Web Services integration tag filter\nconst foo = new datadog.aws.IntegrationTagFilter(\"foo\", {\n accountId: \"123456789010\",\n namespace: \"sqs\",\n tagFilterStr: \"key:value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration tag filter\nfoo = datadog.aws.IntegrationTagFilter(\"foo\",\n account_id=\"123456789010\",\n namespace=\"sqs\",\n tag_filter_str=\"key:value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration tag filter\n var foo = new Datadog.Aws.IntegrationTagFilter(\"foo\", new()\n {\n AccountId = \"123456789010\",\n Namespace = \"sqs\",\n TagFilterStr = \"key:value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration tag filter\n\t\t_, err := aws.NewIntegrationTagFilter(ctx, \"foo\", \u0026aws.IntegrationTagFilterArgs{\n\t\t\tAccountId: pulumi.String(\"123456789010\"),\n\t\t\tNamespace: pulumi.String(\"sqs\"),\n\t\t\tTagFilterStr: pulumi.String(\"key:value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationTagFilter;\nimport com.pulumi.datadog.aws.IntegrationTagFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new IntegrationTagFilter(\"foo\", IntegrationTagFilterArgs.builder() \n .accountId(\"123456789010\")\n .namespace(\"sqs\")\n .tagFilterStr(\"key:value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration tag filter\n foo:\n type: datadog:aws:IntegrationTagFilter\n properties:\n accountId: '123456789010'\n namespace: sqs\n tagFilterStr: key:value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Web Services log filter resource can be imported using their account ID and namespace separated with a colon (:).\n\n ```sh\n $ pulumi import datadog:aws/integrationTagFilter:IntegrationTagFilter foo ${account_id}:${namespace}\n```\n\n ", "properties": { "accountId": { "type": "string", @@ -72711,7 +72711,7 @@ } }, "datadog:azure/integration:Integration": { - "description": "Provides a Datadog - Microsoft Azure integration resource. This can be used to create and manage the integrations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Microsoft Azure integration\nconst sandbox = new datadog.azure.Integration(\"sandbox\", {\n appServicePlanFilters: \"examplefilter:true,example:another\",\n automute: true,\n clientId: \"\u003cazure_client_id\u003e\",\n clientSecret: \"\u003cazure_client_secret_key\u003e\",\n containerAppFilters: \"examplefilter:true,example:one_more\",\n cspmEnabled: true,\n customMetricsEnabled: false,\n hostFilters: \"examplefilter:true,example:true\",\n tenantName: \"\u003cazure_tenant_name\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Microsoft Azure integration\nsandbox = datadog.azure.Integration(\"sandbox\",\n app_service_plan_filters=\"examplefilter:true,example:another\",\n automute=True,\n client_id=\"\u003cazure_client_id\u003e\",\n client_secret=\"\u003cazure_client_secret_key\u003e\",\n container_app_filters=\"examplefilter:true,example:one_more\",\n cspm_enabled=True,\n custom_metrics_enabled=False,\n host_filters=\"examplefilter:true,example:true\",\n tenant_name=\"\u003cazure_tenant_name\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Microsoft Azure integration\n var sandbox = new Datadog.Azure.Integration(\"sandbox\", new()\n {\n AppServicePlanFilters = \"examplefilter:true,example:another\",\n Automute = true,\n ClientId = \"\u003cazure_client_id\u003e\",\n ClientSecret = \"\u003cazure_client_secret_key\u003e\",\n ContainerAppFilters = \"examplefilter:true,example:one_more\",\n CspmEnabled = true,\n CustomMetricsEnabled = false,\n HostFilters = \"examplefilter:true,example:true\",\n TenantName = \"\u003cazure_tenant_name\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/azure\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azure.NewIntegration(ctx, \"sandbox\", \u0026azure.IntegrationArgs{\n\t\t\tAppServicePlanFilters: pulumi.String(\"examplefilter:true,example:another\"),\n\t\t\tAutomute: pulumi.Bool(true),\n\t\t\tClientId: pulumi.String(\"\u003cazure_client_id\u003e\"),\n\t\t\tClientSecret: pulumi.String(\"\u003cazure_client_secret_key\u003e\"),\n\t\t\tContainerAppFilters: pulumi.String(\"examplefilter:true,example:one_more\"),\n\t\t\tCspmEnabled: pulumi.Bool(true),\n\t\t\tCustomMetricsEnabled: pulumi.Bool(false),\n\t\t\tHostFilters: pulumi.String(\"examplefilter:true,example:true\"),\n\t\t\tTenantName: pulumi.String(\"\u003cazure_tenant_name\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.azure.Integration;\nimport com.pulumi.datadog.azure.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder() \n .appServicePlanFilters(\"examplefilter:true,example:another\")\n .automute(true)\n .clientId(\"\u003cazure_client_id\u003e\")\n .clientSecret(\"\u003cazure_client_secret_key\u003e\")\n .containerAppFilters(\"examplefilter:true,example:one_more\")\n .cspmEnabled(true)\n .customMetricsEnabled(false)\n .hostFilters(\"examplefilter:true,example:true\")\n .tenantName(\"\u003cazure_tenant_name\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Microsoft Azure integration\n sandbox:\n type: datadog:azure:Integration\n properties:\n appServicePlanFilters: examplefilter:true,example:another\n automute: true\n clientId: \u003cazure_client_id\u003e\n clientSecret: \u003cazure_client_secret_key\u003e\n containerAppFilters: examplefilter:true,example:one_more\n cspmEnabled: true\n customMetricsEnabled: false\n hostFilters: examplefilter:true,example:true\n tenantName: \u003cazure_tenant_name\u003e\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMicrosoft Azure integrations can be imported using their `tenant name` and `client` id separated with a colon (`:`).\n\n ```sh\n $ pulumi import datadog:azure/integration:Integration sandbox ${tenant_name}:${client_id}\n```\n\n ", + "description": "Provides a Datadog - Microsoft Azure integration resource. This can be used to create and manage the integrations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog - Microsoft Azure integration\nconst sandbox = new datadog.azure.Integration(\"sandbox\", {\n appServicePlanFilters: \"examplefilter:true,example:another\",\n automute: true,\n clientId: \"\u003cazure_client_id\u003e\",\n clientSecret: \"\u003cazure_client_secret_key\u003e\",\n containerAppFilters: \"examplefilter:true,example:one_more\",\n cspmEnabled: true,\n customMetricsEnabled: false,\n hostFilters: \"examplefilter:true,example:true\",\n tenantName: \"\u003cazure_tenant_name\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Microsoft Azure integration\nsandbox = datadog.azure.Integration(\"sandbox\",\n app_service_plan_filters=\"examplefilter:true,example:another\",\n automute=True,\n client_id=\"\u003cazure_client_id\u003e\",\n client_secret=\"\u003cazure_client_secret_key\u003e\",\n container_app_filters=\"examplefilter:true,example:one_more\",\n cspm_enabled=True,\n custom_metrics_enabled=False,\n host_filters=\"examplefilter:true,example:true\",\n tenant_name=\"\u003cazure_tenant_name\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Microsoft Azure integration\n var sandbox = new Datadog.Azure.Integration(\"sandbox\", new()\n {\n AppServicePlanFilters = \"examplefilter:true,example:another\",\n Automute = true,\n ClientId = \"\u003cazure_client_id\u003e\",\n ClientSecret = \"\u003cazure_client_secret_key\u003e\",\n ContainerAppFilters = \"examplefilter:true,example:one_more\",\n CspmEnabled = true,\n CustomMetricsEnabled = false,\n HostFilters = \"examplefilter:true,example:true\",\n TenantName = \"\u003cazure_tenant_name\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/azure\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Microsoft Azure integration\n\t\t_, err := azure.NewIntegration(ctx, \"sandbox\", \u0026azure.IntegrationArgs{\n\t\t\tAppServicePlanFilters: pulumi.String(\"examplefilter:true,example:another\"),\n\t\t\tAutomute: pulumi.Bool(true),\n\t\t\tClientId: pulumi.String(\"\u003cazure_client_id\u003e\"),\n\t\t\tClientSecret: pulumi.String(\"\u003cazure_client_secret_key\u003e\"),\n\t\t\tContainerAppFilters: pulumi.String(\"examplefilter:true,example:one_more\"),\n\t\t\tCspmEnabled: pulumi.Bool(true),\n\t\t\tCustomMetricsEnabled: pulumi.Bool(false),\n\t\t\tHostFilters: pulumi.String(\"examplefilter:true,example:true\"),\n\t\t\tTenantName: pulumi.String(\"\u003cazure_tenant_name\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.azure.Integration;\nimport com.pulumi.datadog.azure.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder() \n .appServicePlanFilters(\"examplefilter:true,example:another\")\n .automute(true)\n .clientId(\"\u003cazure_client_id\u003e\")\n .clientSecret(\"\u003cazure_client_secret_key\u003e\")\n .containerAppFilters(\"examplefilter:true,example:one_more\")\n .cspmEnabled(true)\n .customMetricsEnabled(false)\n .hostFilters(\"examplefilter:true,example:true\")\n .tenantName(\"\u003cazure_tenant_name\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Microsoft Azure integration\n sandbox:\n type: datadog:azure:Integration\n properties:\n appServicePlanFilters: examplefilter:true,example:another\n automute: true\n clientId: \u003cazure_client_id\u003e\n clientSecret: \u003cazure_client_secret_key\u003e\n containerAppFilters: examplefilter:true,example:one_more\n cspmEnabled: true\n customMetricsEnabled: false\n hostFilters: examplefilter:true,example:true\n tenantName: \u003cazure_tenant_name\u003e\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMicrosoft Azure integrations can be imported using their `tenant name` and `client` id separated with a colon (`:`).\n\n ```sh\n $ pulumi import datadog:azure/integration:Integration sandbox ${tenant_name}:${client_id}\n```\n\n ", "properties": { "appServicePlanFilters": { "type": "string", @@ -72993,7 +72993,7 @@ } }, "datadog:confluent/integrationResource:IntegrationResource": { - "description": "Provides a Datadog IntegrationConfluentResource resource. This can be used to create and manage Datadog integration_confluent_resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst fooIntegrationAccount = new datadog.confluent.IntegrationAccount(\"fooIntegrationAccount\", {\n apiKey: \"TESTAPIKEY123\",\n apiSecret: \"test-api-secret-123\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n// Create new integration_confluent_resource resource\nconst fooIntegrationResource = new datadog.confluent.IntegrationResource(\"fooIntegrationResource\", {\n accountId: fooIntegrationAccount.id,\n resourceId: \"123456\",\n resourceType: \"kafka\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo_integration_account = datadog.confluent.IntegrationAccount(\"fooIntegrationAccount\",\n api_key=\"TESTAPIKEY123\",\n api_secret=\"test-api-secret-123\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n# Create new integration_confluent_resource resource\nfoo_integration_resource = datadog.confluent.IntegrationResource(\"fooIntegrationResource\",\n account_id=foo_integration_account.id,\n resource_id=\"123456\",\n resource_type=\"kafka\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooIntegrationAccount = new Datadog.Confluent.IntegrationAccount(\"fooIntegrationAccount\", new()\n {\n ApiKey = \"TESTAPIKEY123\",\n ApiSecret = \"test-api-secret-123\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n // Create new integration_confluent_resource resource\n var fooIntegrationResource = new Datadog.Confluent.IntegrationResource(\"fooIntegrationResource\", new()\n {\n AccountId = fooIntegrationAccount.Id,\n ResourceId = \"123456\",\n ResourceType = \"kafka\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/confluent\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooIntegrationAccount, err := confluent.NewIntegrationAccount(ctx, \"fooIntegrationAccount\", \u0026confluent.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"TESTAPIKEY123\"),\n\t\t\tApiSecret: pulumi.String(\"test-api-secret-123\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confluent.NewIntegrationResource(ctx, \"fooIntegrationResource\", \u0026confluent.IntegrationResourceArgs{\n\t\t\tAccountId: fooIntegrationAccount.ID(),\n\t\t\tResourceId: pulumi.String(\"123456\"),\n\t\t\tResourceType: pulumi.String(\"kafka\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.confluent.IntegrationAccount;\nimport com.pulumi.datadog.confluent.IntegrationAccountArgs;\nimport com.pulumi.datadog.confluent.IntegrationResource;\nimport com.pulumi.datadog.confluent.IntegrationResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooIntegrationAccount = new IntegrationAccount(\"fooIntegrationAccount\", IntegrationAccountArgs.builder() \n .apiKey(\"TESTAPIKEY123\")\n .apiSecret(\"test-api-secret-123\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n var fooIntegrationResource = new IntegrationResource(\"fooIntegrationResource\", IntegrationResourceArgs.builder() \n .accountId(fooIntegrationAccount.id())\n .resourceId(\"123456\")\n .resourceType(\"kafka\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooIntegrationAccount:\n type: datadog:confluent:IntegrationAccount\n properties:\n apiKey: TESTAPIKEY123\n apiSecret: test-api-secret-123\n tags:\n - mytag\n - mytag2:myvalue\n # Create new integration_confluent_resource resource\n fooIntegrationResource:\n type: datadog:confluent:IntegrationResource\n properties:\n accountId: ${fooIntegrationAccount.id}\n resourceId: '123456'\n resourceType: kafka\n tags:\n - mytag\n - mytag2:myvalue\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:confluent/integrationResource:IntegrationResource new_list \"confluent_account_id:confluent_resource_id\"\n```\n\n ", + "description": "Provides a Datadog IntegrationConfluentResource resource. This can be used to create and manage Datadog integration_confluent_resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst fooIntegrationAccount = new datadog.confluent.IntegrationAccount(\"fooIntegrationAccount\", {\n apiKey: \"TESTAPIKEY123\",\n apiSecret: \"test-api-secret-123\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n// Create new integration_confluent_resource resource\nconst fooIntegrationResource = new datadog.confluent.IntegrationResource(\"fooIntegrationResource\", {\n accountId: fooIntegrationAccount.id,\n resourceId: \"123456\",\n resourceType: \"kafka\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo_integration_account = datadog.confluent.IntegrationAccount(\"fooIntegrationAccount\",\n api_key=\"TESTAPIKEY123\",\n api_secret=\"test-api-secret-123\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n# Create new integration_confluent_resource resource\nfoo_integration_resource = datadog.confluent.IntegrationResource(\"fooIntegrationResource\",\n account_id=foo_integration_account.id,\n resource_id=\"123456\",\n resource_type=\"kafka\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooIntegrationAccount = new Datadog.Confluent.IntegrationAccount(\"fooIntegrationAccount\", new()\n {\n ApiKey = \"TESTAPIKEY123\",\n ApiSecret = \"test-api-secret-123\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n // Create new integration_confluent_resource resource\n var fooIntegrationResource = new Datadog.Confluent.IntegrationResource(\"fooIntegrationResource\", new()\n {\n AccountId = fooIntegrationAccount.Id,\n ResourceId = \"123456\",\n ResourceType = \"kafka\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/confluent\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooIntegrationAccount, err := confluent.NewIntegrationAccount(ctx, \"fooIntegrationAccount\", \u0026confluent.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"TESTAPIKEY123\"),\n\t\t\tApiSecret: pulumi.String(\"test-api-secret-123\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new integration_confluent_resource resource\n\t\t_, err = confluent.NewIntegrationResource(ctx, \"fooIntegrationResource\", \u0026confluent.IntegrationResourceArgs{\n\t\t\tAccountId: fooIntegrationAccount.ID(),\n\t\t\tResourceId: pulumi.String(\"123456\"),\n\t\t\tResourceType: pulumi.String(\"kafka\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.confluent.IntegrationAccount;\nimport com.pulumi.datadog.confluent.IntegrationAccountArgs;\nimport com.pulumi.datadog.confluent.IntegrationResource;\nimport com.pulumi.datadog.confluent.IntegrationResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooIntegrationAccount = new IntegrationAccount(\"fooIntegrationAccount\", IntegrationAccountArgs.builder() \n .apiKey(\"TESTAPIKEY123\")\n .apiSecret(\"test-api-secret-123\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n var fooIntegrationResource = new IntegrationResource(\"fooIntegrationResource\", IntegrationResourceArgs.builder() \n .accountId(fooIntegrationAccount.id())\n .resourceId(\"123456\")\n .resourceType(\"kafka\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooIntegrationAccount:\n type: datadog:confluent:IntegrationAccount\n properties:\n apiKey: TESTAPIKEY123\n apiSecret: test-api-secret-123\n tags:\n - mytag\n - mytag2:myvalue\n # Create new integration_confluent_resource resource\n fooIntegrationResource:\n type: datadog:confluent:IntegrationResource\n properties:\n accountId: ${fooIntegrationAccount.id}\n resourceId: '123456'\n resourceType: kafka\n tags:\n - mytag\n - mytag2:myvalue\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:confluent/integrationResource:IntegrationResource new_list \"confluent_account_id:confluent_resource_id\"\n```\n\n ", "properties": { "accountId": { "type": "string", @@ -73129,7 +73129,7 @@ } }, "datadog:fastly/integrationService:IntegrationService": { - "description": "Provides a Datadog IntegrationFastlyService resource. This can be used to create and manage Datadog integration_fastly_service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst fooIntegrationAccount = new datadog.fastly.IntegrationAccount(\"fooIntegrationAccount\", {\n apiKey: \"ABCDEFG123\",\n name: \"test-name\",\n});\n// Create new integration_fastly_service resource\nconst fooIntegrationService = new datadog.fastly.IntegrationService(\"fooIntegrationService\", {\n accountId: fooIntegrationAccount.id,\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n serviceId: \"my-service-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo_integration_account = datadog.fastly.IntegrationAccount(\"fooIntegrationAccount\",\n api_key=\"ABCDEFG123\",\n name=\"test-name\")\n# Create new integration_fastly_service resource\nfoo_integration_service = datadog.fastly.IntegrationService(\"fooIntegrationService\",\n account_id=foo_integration_account.id,\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n service_id=\"my-service-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooIntegrationAccount = new Datadog.Fastly.IntegrationAccount(\"fooIntegrationAccount\", new()\n {\n ApiKey = \"ABCDEFG123\",\n Name = \"test-name\",\n });\n\n // Create new integration_fastly_service resource\n var fooIntegrationService = new Datadog.Fastly.IntegrationService(\"fooIntegrationService\", new()\n {\n AccountId = fooIntegrationAccount.Id,\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n ServiceId = \"my-service-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooIntegrationAccount, err := fastly.NewIntegrationAccount(ctx, \"fooIntegrationAccount\", \u0026fastly.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"ABCDEFG123\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fastly.NewIntegrationService(ctx, \"fooIntegrationService\", \u0026fastly.IntegrationServiceArgs{\n\t\t\tAccountId: fooIntegrationAccount.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t\tServiceId: pulumi.String(\"my-service-id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.fastly.IntegrationAccount;\nimport com.pulumi.datadog.fastly.IntegrationAccountArgs;\nimport com.pulumi.datadog.fastly.IntegrationService;\nimport com.pulumi.datadog.fastly.IntegrationServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooIntegrationAccount = new IntegrationAccount(\"fooIntegrationAccount\", IntegrationAccountArgs.builder() \n .apiKey(\"ABCDEFG123\")\n .name(\"test-name\")\n .build());\n\n var fooIntegrationService = new IntegrationService(\"fooIntegrationService\", IntegrationServiceArgs.builder() \n .accountId(fooIntegrationAccount.id())\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .serviceId(\"my-service-id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooIntegrationAccount:\n type: datadog:fastly:IntegrationAccount\n properties:\n apiKey: ABCDEFG123\n name: test-name\n # Create new integration_fastly_service resource\n fooIntegrationService:\n type: datadog:fastly:IntegrationService\n properties:\n accountId: ${fooIntegrationAccount.id}\n tags:\n - mytag\n - mytag2:myvalue\n serviceId: my-service-id\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:fastly/integrationService:IntegrationService new_list \"service-id\"\n```\n\n ", + "description": "Provides a Datadog IntegrationFastlyService resource. This can be used to create and manage Datadog integration_fastly_service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst fooIntegrationAccount = new datadog.fastly.IntegrationAccount(\"fooIntegrationAccount\", {\n apiKey: \"ABCDEFG123\",\n name: \"test-name\",\n});\n// Create new integration_fastly_service resource\nconst fooIntegrationService = new datadog.fastly.IntegrationService(\"fooIntegrationService\", {\n accountId: fooIntegrationAccount.id,\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n serviceId: \"my-service-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo_integration_account = datadog.fastly.IntegrationAccount(\"fooIntegrationAccount\",\n api_key=\"ABCDEFG123\",\n name=\"test-name\")\n# Create new integration_fastly_service resource\nfoo_integration_service = datadog.fastly.IntegrationService(\"fooIntegrationService\",\n account_id=foo_integration_account.id,\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n service_id=\"my-service-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooIntegrationAccount = new Datadog.Fastly.IntegrationAccount(\"fooIntegrationAccount\", new()\n {\n ApiKey = \"ABCDEFG123\",\n Name = \"test-name\",\n });\n\n // Create new integration_fastly_service resource\n var fooIntegrationService = new Datadog.Fastly.IntegrationService(\"fooIntegrationService\", new()\n {\n AccountId = fooIntegrationAccount.Id,\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n ServiceId = \"my-service-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooIntegrationAccount, err := fastly.NewIntegrationAccount(ctx, \"fooIntegrationAccount\", \u0026fastly.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"ABCDEFG123\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new integration_fastly_service resource\n\t\t_, err = fastly.NewIntegrationService(ctx, \"fooIntegrationService\", \u0026fastly.IntegrationServiceArgs{\n\t\t\tAccountId: fooIntegrationAccount.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t\tServiceId: pulumi.String(\"my-service-id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.fastly.IntegrationAccount;\nimport com.pulumi.datadog.fastly.IntegrationAccountArgs;\nimport com.pulumi.datadog.fastly.IntegrationService;\nimport com.pulumi.datadog.fastly.IntegrationServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooIntegrationAccount = new IntegrationAccount(\"fooIntegrationAccount\", IntegrationAccountArgs.builder() \n .apiKey(\"ABCDEFG123\")\n .name(\"test-name\")\n .build());\n\n var fooIntegrationService = new IntegrationService(\"fooIntegrationService\", IntegrationServiceArgs.builder() \n .accountId(fooIntegrationAccount.id())\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .serviceId(\"my-service-id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooIntegrationAccount:\n type: datadog:fastly:IntegrationAccount\n properties:\n apiKey: ABCDEFG123\n name: test-name\n # Create new integration_fastly_service resource\n fooIntegrationService:\n type: datadog:fastly:IntegrationService\n properties:\n accountId: ${fooIntegrationAccount.id}\n tags:\n - mytag\n - mytag2:myvalue\n serviceId: my-service-id\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:fastly/integrationService:IntegrationService new_list \"service-id\"\n```\n\n ", "properties": { "accountId": { "type": "string", @@ -73416,7 +73416,7 @@ } }, "datadog:index/apiKey:ApiKey": { - "description": "Provides a Datadog API Key resource. This can be used to create and manage Datadog API Keys.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog API Key\nconst foo = new datadog.ApiKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog API Key\nfoo = datadog.ApiKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog API Key\n var foo = new Datadog.ApiKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewApiKey(ctx, \"foo\", \u0026datadog.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApiKey;\nimport com.pulumi.datadog.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ApiKey(\"foo\", ApiKeyArgs.builder() \n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog API Key\n foo:\n type: datadog:ApiKey\n properties:\n name: foo-application\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/apiKey:ApiKey foo 11111111-2222-3333-4444-555555555555\n```\n\n ", + "description": "Provides a Datadog API Key resource. This can be used to create and manage Datadog API Keys.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog API Key\nconst foo = new datadog.ApiKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog API Key\nfoo = datadog.ApiKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog API Key\n var foo = new Datadog.ApiKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog API Key\n\t\t_, err := datadog.NewApiKey(ctx, \"foo\", \u0026datadog.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApiKey;\nimport com.pulumi.datadog.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ApiKey(\"foo\", ApiKeyArgs.builder() \n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog API Key\n foo:\n type: datadog:ApiKey\n properties:\n name: foo-application\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/apiKey:ApiKey foo 11111111-2222-3333-4444-555555555555\n```\n\n ", "properties": { "key": { "type": "string", @@ -73458,7 +73458,7 @@ } }, "datadog:index/apmRetentionFilter:ApmRetentionFilter": { - "description": "The object describing the configuration of the retention filter to create/update.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create APM retention filter\nconst foo = new datadog.ApmRetentionFilter(\"foo\", {\n enabled: false,\n filter: {\n query: \"*\",\n },\n filterType: \"spans-sampling-processor\",\n name: \"Sample order\",\n rate: \"1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create APM retention filter\nfoo = datadog.ApmRetentionFilter(\"foo\",\n enabled=False,\n filter=datadog.ApmRetentionFilterFilterArgs(\n query=\"*\",\n ),\n filter_type=\"spans-sampling-processor\",\n name=\"Sample order\",\n rate=\"1.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create APM retention filter\n var foo = new Datadog.ApmRetentionFilter(\"foo\", new()\n {\n Enabled = false,\n Filter = new Datadog.Inputs.ApmRetentionFilterFilterArgs\n {\n Query = \"*\",\n },\n FilterType = \"spans-sampling-processor\",\n Name = \"Sample order\",\n Rate = \"1.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewApmRetentionFilter(ctx, \"foo\", \u0026datadog.ApmRetentionFilterArgs{\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFilter: \u0026datadog.ApmRetentionFilterFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t},\n\t\t\tFilterType: pulumi.String(\"spans-sampling-processor\"),\n\t\t\tName: pulumi.String(\"Sample order\"),\n\t\t\tRate: pulumi.String(\"1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApmRetentionFilter;\nimport com.pulumi.datadog.ApmRetentionFilterArgs;\nimport com.pulumi.datadog.inputs.ApmRetentionFilterFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ApmRetentionFilter(\"foo\", ApmRetentionFilterArgs.builder() \n .enabled(false)\n .filter(ApmRetentionFilterFilterArgs.builder()\n .query(\"*\")\n .build())\n .filterType(\"spans-sampling-processor\")\n .name(\"Sample order\")\n .rate(\"1.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create APM retention filter\n foo:\n type: datadog:ApmRetentionFilter\n properties:\n enabled: false\n filter:\n query: '*'\n filterType: spans-sampling-processor\n name: Sample order\n rate: '1.0'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nImport existing APM retention filter\n\n ```sh\n $ pulumi import datadog:index/apmRetentionFilter:ApmRetentionFilter foo \u003cfilter_id\u003e\n```\n\n ", + "description": "The object describing the configuration of the retention filter to create/update.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create APM retention filter\nconst foo = new datadog.ApmRetentionFilter(\"foo\", {\n enabled: false,\n filter: {\n query: \"*\",\n },\n filterType: \"spans-sampling-processor\",\n name: \"Sample order\",\n rate: \"1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create APM retention filter\nfoo = datadog.ApmRetentionFilter(\"foo\",\n enabled=False,\n filter=datadog.ApmRetentionFilterFilterArgs(\n query=\"*\",\n ),\n filter_type=\"spans-sampling-processor\",\n name=\"Sample order\",\n rate=\"1.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create APM retention filter\n var foo = new Datadog.ApmRetentionFilter(\"foo\", new()\n {\n Enabled = false,\n Filter = new Datadog.Inputs.ApmRetentionFilterFilterArgs\n {\n Query = \"*\",\n },\n FilterType = \"spans-sampling-processor\",\n Name = \"Sample order\",\n Rate = \"1.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create APM retention filter\n\t\t_, err := datadog.NewApmRetentionFilter(ctx, \"foo\", \u0026datadog.ApmRetentionFilterArgs{\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFilter: \u0026datadog.ApmRetentionFilterFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t},\n\t\t\tFilterType: pulumi.String(\"spans-sampling-processor\"),\n\t\t\tName: pulumi.String(\"Sample order\"),\n\t\t\tRate: pulumi.String(\"1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApmRetentionFilter;\nimport com.pulumi.datadog.ApmRetentionFilterArgs;\nimport com.pulumi.datadog.inputs.ApmRetentionFilterFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ApmRetentionFilter(\"foo\", ApmRetentionFilterArgs.builder() \n .enabled(false)\n .filter(ApmRetentionFilterFilterArgs.builder()\n .query(\"*\")\n .build())\n .filterType(\"spans-sampling-processor\")\n .name(\"Sample order\")\n .rate(\"1.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create APM retention filter\n foo:\n type: datadog:ApmRetentionFilter\n properties:\n enabled: false\n filter:\n query: '*'\n filterType: spans-sampling-processor\n name: Sample order\n rate: '1.0'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nImport existing APM retention filter\n\n ```sh\n $ pulumi import datadog:index/apmRetentionFilter:ApmRetentionFilter foo \u003cfilter_id\u003e\n```\n\n ", "properties": { "enabled": { "type": "boolean", @@ -73583,7 +73583,7 @@ } }, "datadog:index/applicationKey:ApplicationKey": { - "description": "Provides a Datadog Application Key resource. This can be used to create and manage Datadog Application Keys.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog Application Key\nconst foo = new datadog.ApplicationKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Application Key\nfoo = datadog.ApplicationKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Application Key\n var foo = new Datadog.ApplicationKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewApplicationKey(ctx, \"foo\", \u0026datadog.ApplicationKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApplicationKey;\nimport com.pulumi.datadog.ApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ApplicationKey(\"foo\", ApplicationKeyArgs.builder() \n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Application Key\n foo:\n type: datadog:ApplicationKey\n properties:\n name: foo-application\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/applicationKey:ApplicationKey foo 11111111-2222-3333-4444-555555555555\n```\n\n ", + "description": "Provides a Datadog Application Key resource. This can be used to create and manage Datadog Application Keys.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog Application Key\nconst foo = new datadog.ApplicationKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Application Key\nfoo = datadog.ApplicationKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Application Key\n var foo = new Datadog.ApplicationKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog Application Key\n\t\t_, err := datadog.NewApplicationKey(ctx, \"foo\", \u0026datadog.ApplicationKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApplicationKey;\nimport com.pulumi.datadog.ApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ApplicationKey(\"foo\", ApplicationKeyArgs.builder() \n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Application Key\n foo:\n type: datadog:ApplicationKey\n properties:\n name: foo-application\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/applicationKey:ApplicationKey foo 11111111-2222-3333-4444-555555555555\n```\n\n ", "properties": { "key": { "type": "string", @@ -73625,7 +73625,7 @@ } }, "datadog:index/authnMapping:AuthnMapping": { - "description": "Provides a Datadog AuthN Mappings resource. This feature lets you automatically assign roles to users based on their SAML attributes.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new AuthN mapping\nconst devRoRoleMapping = new datadog.AuthnMapping(\"devRoRoleMapping\", {\n key: \"Member-of\",\n value: \"Development\",\n role: roRole.then(roRole =\u003e roRole.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new AuthN mapping\ndev_ro_role_mapping = datadog.AuthnMapping(\"devRoRoleMapping\",\n key=\"Member-of\",\n value=\"Development\",\n role=ro_role.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new AuthN mapping\n var devRoRoleMapping = new Datadog.AuthnMapping(\"devRoRoleMapping\", new()\n {\n Key = \"Member-of\",\n Value = \"Development\",\n Role = roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewAuthnMapping(ctx, \"devRoRoleMapping\", \u0026datadog.AuthnMappingArgs{\n\t\t\tKey: pulumi.String(\"Member-of\"),\n\t\t\tValue: pulumi.String(\"Development\"),\n\t\t\tRole: *pulumi.String(roRole.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.AuthnMapping;\nimport com.pulumi.datadog.AuthnMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n var devRoRoleMapping = new AuthnMapping(\"devRoRoleMapping\", AuthnMappingArgs.builder() \n .key(\"Member-of\")\n .value(\"Development\")\n .role(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new AuthN mapping\n devRoRoleMapping:\n type: datadog:AuthnMapping\n properties:\n key: Member-of\n value: Development\n role: ${roRole.id}\nvariables:\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAuthN mappings can be imported using their ID, e.g.\n\n ```sh\n $ pulumi import datadog:index/authnMapping:AuthnMapping dev_ro_mapping 000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Provides a Datadog AuthN Mappings resource. This feature lets you automatically assign roles to users based on their SAML attributes.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new AuthN mapping\nconst devRoRoleMapping = new datadog.AuthnMapping(\"devRoRoleMapping\", {\n key: \"Member-of\",\n value: \"Development\",\n role: roRole.then(roRole =\u003e roRole.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new AuthN mapping\ndev_ro_role_mapping = datadog.AuthnMapping(\"devRoRoleMapping\",\n key=\"Member-of\",\n value=\"Development\",\n role=ro_role.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new AuthN mapping\n var devRoRoleMapping = new Datadog.AuthnMapping(\"devRoRoleMapping\", new()\n {\n Key = \"Member-of\",\n Value = \"Development\",\n Role = roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new AuthN mapping\n\t\t_, err = datadog.NewAuthnMapping(ctx, \"devRoRoleMapping\", \u0026datadog.AuthnMappingArgs{\n\t\t\tKey: pulumi.String(\"Member-of\"),\n\t\t\tValue: pulumi.String(\"Development\"),\n\t\t\tRole: *pulumi.String(roRole.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.AuthnMapping;\nimport com.pulumi.datadog.AuthnMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n var devRoRoleMapping = new AuthnMapping(\"devRoRoleMapping\", AuthnMappingArgs.builder() \n .key(\"Member-of\")\n .value(\"Development\")\n .role(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new AuthN mapping\n devRoRoleMapping:\n type: datadog:AuthnMapping\n properties:\n key: Member-of\n value: Development\n role: ${roRole.id}\nvariables:\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAuthN mappings can be imported using their ID, e.g.\n\n ```sh\n $ pulumi import datadog:index/authnMapping:AuthnMapping dev_ro_mapping 000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "key": { "type": "string", @@ -73684,7 +73684,7 @@ } }, "datadog:index/childOrganization:ChildOrganization": { - "description": "Provides a Datadog Child Organization resource. This can be used to create Datadog Child Organizations. To manage created organization use `datadog.OrganizationSettings`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog Child Organization\nconst organization = new datadog.ChildOrganization(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Child Organization\norganization = datadog.ChildOrganization(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Child Organization\n var organization = new Datadog.ChildOrganization(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewChildOrganization(ctx, \"organization\", \u0026datadog.ChildOrganizationArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ChildOrganization;\nimport com.pulumi.datadog.ChildOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var organization = new ChildOrganization(\"organization\", ChildOrganizationArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Child Organization\n organization:\n type: datadog:ChildOrganization\n properties:\n name: foo-organization\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Datadog Child Organization resource. This can be used to create Datadog Child Organizations. To manage created organization use `datadog.OrganizationSettings`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog Child Organization\nconst organization = new datadog.ChildOrganization(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Child Organization\norganization = datadog.ChildOrganization(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Child Organization\n var organization = new Datadog.ChildOrganization(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog Child Organization\n\t\t_, err := datadog.NewChildOrganization(ctx, \"organization\", \u0026datadog.ChildOrganizationArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ChildOrganization;\nimport com.pulumi.datadog.ChildOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var organization = new ChildOrganization(\"organization\", ChildOrganizationArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Child Organization\n organization:\n type: datadog:ChildOrganization\n properties:\n name: foo-organization\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "apiKeys": { "type": "array", @@ -74333,7 +74333,7 @@ } }, "datadog:index/dashboardJson:DashboardJson": { - "description": "Provides a Datadog dashboard JSON resource. This can be used to create and manage Datadog dashboards using the JSON definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example Dashboard JSON\nconst dashboardJson = new datadog.DashboardJson(\"dashboardJson\", {dashboard: `{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Dashboard JSON\ndashboard_json = datadog.DashboardJson(\"dashboardJson\", dashboard=\"\"\"{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Dashboard JSON\n var dashboardJson = new Datadog.DashboardJson(\"dashboardJson\", new()\n {\n Dashboard = @\"{\n \"\"title\"\":\"\"Ordered Layout Dashboard\"\",\n \"\"description\"\":\"\"Created using the Datadog provider in Pulumi\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":719369537777170,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"viz_type\"\":\"\"timeseries\"\"\n }\n },\n {\n \"\"id\"\":2306240030393868,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":6990998850881326,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":3351284044659007,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"change\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"compare_to\"\":\"\"week_before\"\",\n \"\"change_type\"\":\"\"absolute\"\",\n \"\"order_dir\"\":\"\"desc\"\",\n \"\"increase_good\"\":true,\n \"\"order_by\"\":\"\"name\"\",\n \"\"show_present\"\":true\n }\n ]\n }\n },\n {\n \"\"id\"\":6450290622996182,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"distribution\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4902842646291536,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"check_status\"\",\n \"\"check\"\":\"\"aws.ecs.agent_connected\"\",\n \"\"grouping\"\":\"\"cluster\"\",\n \"\"group_by\"\":[\n \"\"account\"\",\n \"\"cluster\"\"\n ],\n \"\"tags\"\":[\n \"\"account:demo\"\",\n \"\"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\"\n ]\n }\n },\n {\n \"\"id\"\":6392349954822644,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"heatmap\"\",\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"sqrt\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2\"\"\n },\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":5222961478940988,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"hostmap\"\",\n \"\"requests\"\":{\n \"\"fill\"\":{\n \"\"q\"\":\"\"avg:system.load.1{*} by {host}\"\"\n },\n \"\"size\"\":{\n \"\"q\"\":\"\"avg:memcache.uptime{*} by {host}\"\"\n }\n },\n \"\"node_type\"\":\"\"container\"\",\n \"\"no_metric_hosts\"\":true,\n \"\"no_group_hosts\"\":true,\n \"\"group\"\":[\n \"\"host\"\",\n \"\"region\"\"\n ],\n \"\"scope\"\":[\n \"\"region:us-east-1\"\",\n \"\"aws_account:727006795293\"\"\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"yellow_to_green\"\",\n \"\"palette_flip\"\":true,\n \"\"fill_min\"\":\"\"10\"\",\n \"\"fill_max\"\":\"\"20\"\"\n }\n }\n },\n {\n \"\"id\"\":8121199734227072,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"note text\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":1775856835833038,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_value\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ],\n \"\"autoscale\"\":true,\n \"\"custom_unit\"\":\"\"xx\"\",\n \"\"text_align\"\":\"\"right\"\",\n \"\"precision\"\":4\n }\n },\n {\n \"\"id\"\":8461455966625581,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_table\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ],\n \"\"limit\"\":10\n }\n ]\n }\n },\n {\n \"\"id\"\":8660006349418736,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"scatterplot\"\",\n \"\"requests\"\":{\n \"\"x\"\":{\n \"\"q\"\":\"\"avg:system.cpu.user{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"max\"\"\n },\n \"\"y\"\":{\n \"\"q\"\":\"\"avg:system.mem.used{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"min\"\"\n }\n },\n \"\"xaxis\"\":{\n \"\"scale\"\":\"\"pow\"\",\n \"\"label\"\":\"\"x\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2000\"\"\n },\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"label\"\":\"\"y\"\",\n \"\"include_zero\"\":false,\n \"\"min\"\":\"\"5\"\",\n \"\"max\"\":\"\"2222\"\"\n },\n \"\"color_by_groups\"\":[\n \"\"account\"\",\n \"\"apm-role-group\"\"\n ]\n }\n },\n {\n \"\"id\"\":1669590772917638,\n \"\"definition\"\":{\n \"\"title\"\":\"\"env: prod, datacenter:dc1, service: master-db\"\",\n \"\"title_size\"\":\"\"16\"\",\n \"\"title_align\"\":\"\"left\"\",\n \"\"type\"\":\"\"servicemap\"\",\n \"\"service\"\":\"\"master-db\"\",\n \"\"filters\"\":[\n \"\"env:prod\"\",\n \"\"datacenter:dc1\"\"\n ]\n }\n },\n {\n \"\"id\"\":2138829058361817,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":true,\n \"\"legend_size\"\":\"\"2\"\",\n \"\"type\"\":\"\"timeseries\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"on_right_yaxis\"\":false,\n \"\"metadata\"\":[\n {\n \"\"expression\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"alias_name\"\":\"\"Alpha\"\"\n }\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\",\n \"\"line_type\"\":\"\"dashed\"\",\n \"\"line_width\"\":\"\"thin\"\"\n },\n \"\"display_type\"\":\"\"line\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"log_query\"\":{\n \"\"index\"\":\"\"mcnulty\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"status:info\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"host\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":10\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"area\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"apm_query\"\":{\n \"\"index\"\":\"\"apm-search\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"type:web\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"resource_name\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@string_query.interval\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":50\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"bars\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"process_query\"\":{\n \"\"search_by\"\":\"\"error\"\",\n \"\"metric\"\":\"\"process.stat.cpu.total_pct\"\",\n \"\"limit\"\":50,\n \"\"filter_by\"\":[\n \"\"active\"\"\n ]\n },\n \"\"display_type\"\":\"\"area\"\"\n }\n ],\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"include_zero\"\":false,\n \"\"max\"\":\"\"100\"\"\n },\n \"\"events\"\":[\n {\n \"\"q\"\":\"\"sources:test tags:1\"\"\n },\n {\n \"\"q\"\":\"\"sources:test tags:2\"\"\n }\n ],\n \"\"markers\"\":[\n {\n \"\"label\"\":\"\" z=6 \"\",\n \"\"value\"\":\"\"y = 4\"\",\n \"\"display_type\"\":\"\"error dashed\"\"\n },\n {\n \"\"label\"\":\"\" x=8 \"\",\n \"\"value\"\":\"\"10 \u003c y \u003c 999\"\",\n \"\"display_type\"\":\"\"ok solid\"\"\n }\n ]\n }\n },\n {\n \"\"id\"\":7307171374656551,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"toplist\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"\"id\"\":7086674838553258,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Group Widget\"\",\n \"\"type\"\":\"\"group\"\",\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":3726092277657502,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"cluster note widget\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":6376384650558057,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Alert Graph\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"123\"\",\n \"\"viz_type\"\":\"\"toplist\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4668903563678912,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"slo\"\",\n \"\"view_type\"\":\"\"detail\"\",\n \"\"time_windows\"\":[\n \"\"7d\"\",\n \"\"previous_week\"\"\n ],\n \"\"slo_id\"\":\"\"56789\"\",\n \"\"show_error_budget\"\":true,\n \"\"view_mode\"\":\"\"overall\"\",\n \"\"global_time_target\"\":\"\"0\"\"\n }\n }\n ],\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"default\"\":\"\"aws\"\",\n \"\"prefix\"\":\"\"host\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"default\"\":\"\"autoscaling\"\",\n \"\"prefix\"\":\"\"service_name\"\"\n }\n ],\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"is_read_only\"\":true,\n \"\"notify_list\"\":[\n\n ],\n \"\"template_variable_presets\"\":[\n {\n \"\"name\"\":\"\"preset_1\"\",\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"value\"\":\"\"host.dc\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"value\"\":\"\"my_service\"\"\n }\n ]\n }\n ]\n}\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewDashboardJson(ctx, \"dashboardJson\", \u0026datadog.DashboardJsonArgs{\n\t\t\tDashboard: pulumi.String(`{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DashboardJson;\nimport com.pulumi.datadog.DashboardJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dashboardJson = new DashboardJson(\"dashboardJson\", DashboardJsonArgs.builder() \n .dashboard(\"\"\"\n{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Dashboard JSON\n dashboardJson:\n type: datadog:DashboardJson\n properties:\n dashboard: |+\n {\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n }\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/dashboardJson:DashboardJson my_service_dashboard sv7-gyh-kas\n```\n\n ", + "description": "Provides a Datadog dashboard JSON resource. This can be used to create and manage Datadog dashboards using the JSON definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example Dashboard JSON\nconst dashboardJson = new datadog.DashboardJson(\"dashboardJson\", {dashboard: `{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Dashboard JSON\ndashboard_json = datadog.DashboardJson(\"dashboardJson\", dashboard=\"\"\"{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Dashboard JSON\n var dashboardJson = new Datadog.DashboardJson(\"dashboardJson\", new()\n {\n Dashboard = @\"{\n \"\"title\"\":\"\"Ordered Layout Dashboard\"\",\n \"\"description\"\":\"\"Created using the Datadog provider in Pulumi\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":719369537777170,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"viz_type\"\":\"\"timeseries\"\"\n }\n },\n {\n \"\"id\"\":2306240030393868,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":6990998850881326,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":3351284044659007,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"change\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"compare_to\"\":\"\"week_before\"\",\n \"\"change_type\"\":\"\"absolute\"\",\n \"\"order_dir\"\":\"\"desc\"\",\n \"\"increase_good\"\":true,\n \"\"order_by\"\":\"\"name\"\",\n \"\"show_present\"\":true\n }\n ]\n }\n },\n {\n \"\"id\"\":6450290622996182,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"distribution\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4902842646291536,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"check_status\"\",\n \"\"check\"\":\"\"aws.ecs.agent_connected\"\",\n \"\"grouping\"\":\"\"cluster\"\",\n \"\"group_by\"\":[\n \"\"account\"\",\n \"\"cluster\"\"\n ],\n \"\"tags\"\":[\n \"\"account:demo\"\",\n \"\"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\"\n ]\n }\n },\n {\n \"\"id\"\":6392349954822644,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"heatmap\"\",\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"sqrt\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2\"\"\n },\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":5222961478940988,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"hostmap\"\",\n \"\"requests\"\":{\n \"\"fill\"\":{\n \"\"q\"\":\"\"avg:system.load.1{*} by {host}\"\"\n },\n \"\"size\"\":{\n \"\"q\"\":\"\"avg:memcache.uptime{*} by {host}\"\"\n }\n },\n \"\"node_type\"\":\"\"container\"\",\n \"\"no_metric_hosts\"\":true,\n \"\"no_group_hosts\"\":true,\n \"\"group\"\":[\n \"\"host\"\",\n \"\"region\"\"\n ],\n \"\"scope\"\":[\n \"\"region:us-east-1\"\",\n \"\"aws_account:727006795293\"\"\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"yellow_to_green\"\",\n \"\"palette_flip\"\":true,\n \"\"fill_min\"\":\"\"10\"\",\n \"\"fill_max\"\":\"\"20\"\"\n }\n }\n },\n {\n \"\"id\"\":8121199734227072,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"note text\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":1775856835833038,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_value\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ],\n \"\"autoscale\"\":true,\n \"\"custom_unit\"\":\"\"xx\"\",\n \"\"text_align\"\":\"\"right\"\",\n \"\"precision\"\":4\n }\n },\n {\n \"\"id\"\":8461455966625581,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_table\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ],\n \"\"limit\"\":10\n }\n ]\n }\n },\n {\n \"\"id\"\":8660006349418736,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"scatterplot\"\",\n \"\"requests\"\":{\n \"\"x\"\":{\n \"\"q\"\":\"\"avg:system.cpu.user{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"max\"\"\n },\n \"\"y\"\":{\n \"\"q\"\":\"\"avg:system.mem.used{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"min\"\"\n }\n },\n \"\"xaxis\"\":{\n \"\"scale\"\":\"\"pow\"\",\n \"\"label\"\":\"\"x\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2000\"\"\n },\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"label\"\":\"\"y\"\",\n \"\"include_zero\"\":false,\n \"\"min\"\":\"\"5\"\",\n \"\"max\"\":\"\"2222\"\"\n },\n \"\"color_by_groups\"\":[\n \"\"account\"\",\n \"\"apm-role-group\"\"\n ]\n }\n },\n {\n \"\"id\"\":1669590772917638,\n \"\"definition\"\":{\n \"\"title\"\":\"\"env: prod, datacenter:dc1, service: master-db\"\",\n \"\"title_size\"\":\"\"16\"\",\n \"\"title_align\"\":\"\"left\"\",\n \"\"type\"\":\"\"servicemap\"\",\n \"\"service\"\":\"\"master-db\"\",\n \"\"filters\"\":[\n \"\"env:prod\"\",\n \"\"datacenter:dc1\"\"\n ]\n }\n },\n {\n \"\"id\"\":2138829058361817,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":true,\n \"\"legend_size\"\":\"\"2\"\",\n \"\"type\"\":\"\"timeseries\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"on_right_yaxis\"\":false,\n \"\"metadata\"\":[\n {\n \"\"expression\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"alias_name\"\":\"\"Alpha\"\"\n }\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\",\n \"\"line_type\"\":\"\"dashed\"\",\n \"\"line_width\"\":\"\"thin\"\"\n },\n \"\"display_type\"\":\"\"line\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"log_query\"\":{\n \"\"index\"\":\"\"mcnulty\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"status:info\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"host\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":10\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"area\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"apm_query\"\":{\n \"\"index\"\":\"\"apm-search\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"type:web\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"resource_name\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@string_query.interval\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":50\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"bars\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"process_query\"\":{\n \"\"search_by\"\":\"\"error\"\",\n \"\"metric\"\":\"\"process.stat.cpu.total_pct\"\",\n \"\"limit\"\":50,\n \"\"filter_by\"\":[\n \"\"active\"\"\n ]\n },\n \"\"display_type\"\":\"\"area\"\"\n }\n ],\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"include_zero\"\":false,\n \"\"max\"\":\"\"100\"\"\n },\n \"\"events\"\":[\n {\n \"\"q\"\":\"\"sources:test tags:1\"\"\n },\n {\n \"\"q\"\":\"\"sources:test tags:2\"\"\n }\n ],\n \"\"markers\"\":[\n {\n \"\"label\"\":\"\" z=6 \"\",\n \"\"value\"\":\"\"y = 4\"\",\n \"\"display_type\"\":\"\"error dashed\"\"\n },\n {\n \"\"label\"\":\"\" x=8 \"\",\n \"\"value\"\":\"\"10 \u003c y \u003c 999\"\",\n \"\"display_type\"\":\"\"ok solid\"\"\n }\n ]\n }\n },\n {\n \"\"id\"\":7307171374656551,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"toplist\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"\"id\"\":7086674838553258,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Group Widget\"\",\n \"\"type\"\":\"\"group\"\",\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":3726092277657502,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"cluster note widget\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":6376384650558057,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Alert Graph\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"123\"\",\n \"\"viz_type\"\":\"\"toplist\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4668903563678912,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"slo\"\",\n \"\"view_type\"\":\"\"detail\"\",\n \"\"time_windows\"\":[\n \"\"7d\"\",\n \"\"previous_week\"\"\n ],\n \"\"slo_id\"\":\"\"56789\"\",\n \"\"show_error_budget\"\":true,\n \"\"view_mode\"\":\"\"overall\"\",\n \"\"global_time_target\"\":\"\"0\"\"\n }\n }\n ],\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"default\"\":\"\"aws\"\",\n \"\"prefix\"\":\"\"host\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"default\"\":\"\"autoscaling\"\",\n \"\"prefix\"\":\"\"service_name\"\"\n }\n ],\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"is_read_only\"\":true,\n \"\"notify_list\"\":[\n\n ],\n \"\"template_variable_presets\"\":[\n {\n \"\"name\"\":\"\"preset_1\"\",\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"value\"\":\"\"host.dc\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"value\"\":\"\"my_service\"\"\n }\n ]\n }\n ]\n}\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Dashboard JSON\n\t\t_, err := datadog.NewDashboardJson(ctx, \"dashboardJson\", \u0026datadog.DashboardJsonArgs{\n\t\t\tDashboard: pulumi.String(`{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DashboardJson;\nimport com.pulumi.datadog.DashboardJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dashboardJson = new DashboardJson(\"dashboardJson\", DashboardJsonArgs.builder() \n .dashboard(\"\"\"\n{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Dashboard JSON\n dashboardJson:\n type: datadog:DashboardJson\n properties:\n dashboard: |+\n {\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n }\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/dashboardJson:DashboardJson my_service_dashboard sv7-gyh-kas\n```\n\n ", "properties": { "dashboard": { "type": "string", @@ -74413,7 +74413,7 @@ } }, "datadog:index/dashboardList:DashboardList": { - "description": "Provides a Datadog dashboard_list resource. This can be used to create and manage Datadog Dashboard Lists and the individual dashboards within them.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst time = new datadog.Dashboard(\"time\", {\n title: \"TF Test Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"ordered\",\n isReadOnly: true,\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n }],\n});\nconst screen = new datadog.Dashboard(\"screen\", {\n title: \"TF Test Free Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"free\",\n isReadOnly: false,\n widgets: [{\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 43,\n width: 32,\n x: 5,\n y: 5,\n },\n }],\n});\n// Create a new Dashboard List with two Dashboards\nconst newList = new datadog.DashboardList(\"newList\", {\n name: \"Automated Created List\",\n dashItems: [\n {\n type: \"custom_timeboard\",\n dashId: time.id,\n },\n {\n type: \"custom_screenboard\",\n dashId: screen.id,\n },\n ],\n}, {\n dependsOn: [\n screen,\n time,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntime = datadog.Dashboard(\"time\",\n title=\"TF Test Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"ordered\",\n is_read_only=True,\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n )])\nscreen = datadog.Dashboard(\"screen\",\n title=\"TF Test Free Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"free\",\n is_read_only=False,\n widgets=[datadog.DashboardWidgetArgs(\n event_stream_definition=datadog.DashboardWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=43,\n width=32,\n x=5,\n y=5,\n ),\n )])\n# Create a new Dashboard List with two Dashboards\nnew_list = datadog.DashboardList(\"newList\",\n name=\"Automated Created List\",\n dash_items=[\n datadog.DashboardListDashItemArgs(\n type=\"custom_timeboard\",\n dash_id=time.id,\n ),\n datadog.DashboardListDashItemArgs(\n type=\"custom_screenboard\",\n dash_id=screen.id,\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n screen,\n time,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var time = new Datadog.Dashboard(\"time\", new()\n {\n Title = \"TF Test Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"ordered\",\n IsReadOnly = true,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n },\n });\n\n var screen = new Datadog.Dashboard(\"screen\", new()\n {\n Title = \"TF Test Free Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"free\",\n IsReadOnly = false,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.DashboardWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 43,\n Width = 32,\n X = 5,\n Y = 5,\n },\n },\n },\n });\n\n // Create a new Dashboard List with two Dashboards\n var newList = new Datadog.DashboardList(\"newList\", new()\n {\n Name = \"Automated Created List\",\n DashItems = new[]\n {\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_timeboard\",\n DashId = time.Id,\n },\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_screenboard\",\n DashId = screen.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n screen,\n time,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttime, err := datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tscreen, err := datadog.NewDashboard(ctx, \"screen\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Free Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"free\"),\n\t\t\tIsReadOnly: pulumi.Bool(false),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.DashboardWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(43),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(5),\n\t\t\t\t\t\tY: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewDashboardList(ctx, \"newList\", \u0026datadog.DashboardListArgs{\n\t\t\tName: pulumi.String(\"Automated Created List\"),\n\t\t\tDashItems: datadog.DashboardListDashItemArray{\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_timeboard\"),\n\t\t\t\t\tDashId: time.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_screenboard\"),\n\t\t\t\t\tDashId: screen.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tscreen,\n\t\t\ttime,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetWidgetLayoutArgs;\nimport com.pulumi.datadog.DashboardList;\nimport com.pulumi.datadog.DashboardListArgs;\nimport com.pulumi.datadog.inputs.DashboardListDashItemArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var time = new Dashboard(\"time\", DashboardArgs.builder() \n .title(\"TF Test Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"ordered\")\n .isReadOnly(true)\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build());\n\n var screen = new Dashboard(\"screen\", DashboardArgs.builder() \n .title(\"TF Test Free Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"free\")\n .isReadOnly(false)\n .widgets(DashboardWidgetArgs.builder()\n .eventStreamDefinition(DashboardWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(43)\n .width(32)\n .x(5)\n .y(5)\n .build())\n .build())\n .build());\n\n var newList = new DashboardList(\"newList\", DashboardListArgs.builder() \n .name(\"Automated Created List\")\n .dashItems( \n DashboardListDashItemArgs.builder()\n .type(\"custom_timeboard\")\n .dashId(time.id())\n .build(),\n DashboardListDashItemArgs.builder()\n .type(\"custom_screenboard\")\n .dashId(screen.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n screen,\n time)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Dashboard List with two Dashboards\n newList:\n type: datadog:DashboardList\n properties:\n name: Automated Created List\n dashItems:\n - type: custom_timeboard\n dashId: ${time.id}\n - type: custom_screenboard\n dashId: ${screen.id}\n options:\n dependson:\n - ${screen}\n - ${time}\n time:\n type: datadog:Dashboard\n properties:\n title: TF Test Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: ordered\n isReadOnly: true\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\n screen:\n type: datadog:Dashboard\n properties:\n title: TF Test Free Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: free\n isReadOnly: false\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 43\n width: 32\n x: 5\n y: 5\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/dashboardList:DashboardList new_list 123456\n```\n\n ", + "description": "Provides a Datadog dashboard_list resource. This can be used to create and manage Datadog Dashboard Lists and the individual dashboards within them.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst time = new datadog.Dashboard(\"time\", {\n title: \"TF Test Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"ordered\",\n isReadOnly: true,\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n }],\n});\nconst screen = new datadog.Dashboard(\"screen\", {\n title: \"TF Test Free Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"free\",\n isReadOnly: false,\n widgets: [{\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 43,\n width: 32,\n x: 5,\n y: 5,\n },\n }],\n});\n// Create a new Dashboard List with two Dashboards\nconst newList = new datadog.DashboardList(\"newList\", {\n name: \"Automated Created List\",\n dashItems: [\n {\n type: \"custom_timeboard\",\n dashId: time.id,\n },\n {\n type: \"custom_screenboard\",\n dashId: screen.id,\n },\n ],\n}, {\n dependsOn: [\n screen,\n time,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntime = datadog.Dashboard(\"time\",\n title=\"TF Test Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"ordered\",\n is_read_only=True,\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n )])\nscreen = datadog.Dashboard(\"screen\",\n title=\"TF Test Free Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"free\",\n is_read_only=False,\n widgets=[datadog.DashboardWidgetArgs(\n event_stream_definition=datadog.DashboardWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=43,\n width=32,\n x=5,\n y=5,\n ),\n )])\n# Create a new Dashboard List with two Dashboards\nnew_list = datadog.DashboardList(\"newList\",\n name=\"Automated Created List\",\n dash_items=[\n datadog.DashboardListDashItemArgs(\n type=\"custom_timeboard\",\n dash_id=time.id,\n ),\n datadog.DashboardListDashItemArgs(\n type=\"custom_screenboard\",\n dash_id=screen.id,\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n screen,\n time,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var time = new Datadog.Dashboard(\"time\", new()\n {\n Title = \"TF Test Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"ordered\",\n IsReadOnly = true,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n },\n });\n\n var screen = new Datadog.Dashboard(\"screen\", new()\n {\n Title = \"TF Test Free Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"free\",\n IsReadOnly = false,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.DashboardWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 43,\n Width = 32,\n X = 5,\n Y = 5,\n },\n },\n },\n });\n\n // Create a new Dashboard List with two Dashboards\n var newList = new Datadog.DashboardList(\"newList\", new()\n {\n Name = \"Automated Created List\",\n DashItems = new[]\n {\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_timeboard\",\n DashId = time.Id,\n },\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_screenboard\",\n DashId = screen.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n screen,\n time,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttime, err := datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tscreen, err := datadog.NewDashboard(ctx, \"screen\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Free Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"free\"),\n\t\t\tIsReadOnly: pulumi.Bool(false),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.DashboardWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(43),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(5),\n\t\t\t\t\t\tY: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Dashboard List with two Dashboards\n\t\t_, err = datadog.NewDashboardList(ctx, \"newList\", \u0026datadog.DashboardListArgs{\n\t\t\tName: pulumi.String(\"Automated Created List\"),\n\t\t\tDashItems: datadog.DashboardListDashItemArray{\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_timeboard\"),\n\t\t\t\t\tDashId: time.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_screenboard\"),\n\t\t\t\t\tDashId: screen.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tscreen,\n\t\t\ttime,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetWidgetLayoutArgs;\nimport com.pulumi.datadog.DashboardList;\nimport com.pulumi.datadog.DashboardListArgs;\nimport com.pulumi.datadog.inputs.DashboardListDashItemArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var time = new Dashboard(\"time\", DashboardArgs.builder() \n .title(\"TF Test Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"ordered\")\n .isReadOnly(true)\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build());\n\n var screen = new Dashboard(\"screen\", DashboardArgs.builder() \n .title(\"TF Test Free Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"free\")\n .isReadOnly(false)\n .widgets(DashboardWidgetArgs.builder()\n .eventStreamDefinition(DashboardWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(43)\n .width(32)\n .x(5)\n .y(5)\n .build())\n .build())\n .build());\n\n var newList = new DashboardList(\"newList\", DashboardListArgs.builder() \n .name(\"Automated Created List\")\n .dashItems( \n DashboardListDashItemArgs.builder()\n .type(\"custom_timeboard\")\n .dashId(time.id())\n .build(),\n DashboardListDashItemArgs.builder()\n .type(\"custom_screenboard\")\n .dashId(screen.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n screen,\n time)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Dashboard List with two Dashboards\n newList:\n type: datadog:DashboardList\n properties:\n name: Automated Created List\n dashItems:\n - type: custom_timeboard\n dashId: ${time.id}\n - type: custom_screenboard\n dashId: ${screen.id}\n options:\n dependson:\n - ${screen}\n - ${time}\n time:\n type: datadog:Dashboard\n properties:\n title: TF Test Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: ordered\n isReadOnly: true\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\n screen:\n type: datadog:Dashboard\n properties:\n title: TF Test Free Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: free\n isReadOnly: false\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 43\n width: 32\n x: 5\n y: 5\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/dashboardList:DashboardList new_list 123456\n```\n\n ", "properties": { "dashItems": { "type": "array", @@ -74465,7 +74465,7 @@ } }, "datadog:index/downtime:Downtime": { - "description": "This resource is deprecated — use the `datadog.DowntimeSchedule resource` instead. Provides a Datadog downtime resource. This can be used to create and manage Datadog downtimes.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example: downtime for all monitors\n// Create a new daily 1700-0900 Datadog downtime for all monitors\nconst foo = new datadog.Downtime(\"foo\", {\n end: 1483365600,\n recurrence: {\n period: 1,\n type: \"days\",\n },\n scopes: [\"*\"],\n start: 1483308000,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example: downtime for all monitors\n# Create a new daily 1700-0900 Datadog downtime for all monitors\nfoo = datadog.Downtime(\"foo\",\n end=1483365600,\n recurrence=datadog.DowntimeRecurrenceArgs(\n period=1,\n type=\"days\",\n ),\n scopes=[\"*\"],\n start=1483308000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example: downtime for all monitors\n // Create a new daily 1700-0900 Datadog downtime for all monitors\n var foo = new Datadog.Downtime(\"foo\", new()\n {\n End = 1483365600,\n Recurrence = new Datadog.Inputs.DowntimeRecurrenceArgs\n {\n Period = 1,\n Type = \"days\",\n },\n Scopes = new[]\n {\n \"*\",\n },\n Start = 1483308000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewDowntime(ctx, \"foo\", \u0026datadog.DowntimeArgs{\n\t\t\tEnd: pulumi.Int(1483365600),\n\t\t\tRecurrence: \u0026datadog.DowntimeRecurrenceArgs{\n\t\t\t\tPeriod: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"days\"),\n\t\t\t},\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tStart: pulumi.Int(1483308000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Downtime;\nimport com.pulumi.datadog.DowntimeArgs;\nimport com.pulumi.datadog.inputs.DowntimeRecurrenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Downtime(\"foo\", DowntimeArgs.builder() \n .end(1483365600)\n .recurrence(DowntimeRecurrenceArgs.builder()\n .period(1)\n .type(\"days\")\n .build())\n .scopes(\"*\")\n .start(1483308000)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example: downtime for all monitors\n # // Create a new daily 1700-0900 Datadog downtime for all monitors\n foo:\n type: datadog:Downtime\n properties:\n end: 1.4833656e+09\n recurrence:\n period: 1\n type: days\n scopes:\n - '*'\n start: 1.483308e+09\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/downtime:Downtime bytes_received_localhost 2081\n```\n\n ", + "description": "This resource is deprecated — use the `datadog.DowntimeSchedule resource` instead. Provides a Datadog downtime resource. This can be used to create and manage Datadog downtimes.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example: downtime for all monitors\n// Create a new daily 1700-0900 Datadog downtime for all monitors\nconst foo = new datadog.Downtime(\"foo\", {\n end: 1483365600,\n recurrence: {\n period: 1,\n type: \"days\",\n },\n scopes: [\"*\"],\n start: 1483308000,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example: downtime for all monitors\n# Create a new daily 1700-0900 Datadog downtime for all monitors\nfoo = datadog.Downtime(\"foo\",\n end=1483365600,\n recurrence=datadog.DowntimeRecurrenceArgs(\n period=1,\n type=\"days\",\n ),\n scopes=[\"*\"],\n start=1483308000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example: downtime for all monitors\n // Create a new daily 1700-0900 Datadog downtime for all monitors\n var foo = new Datadog.Downtime(\"foo\", new()\n {\n End = 1483365600,\n Recurrence = new Datadog.Inputs.DowntimeRecurrenceArgs\n {\n Period = 1,\n Type = \"days\",\n },\n Scopes = new[]\n {\n \"*\",\n },\n Start = 1483308000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example: downtime for all monitors\n\t\t// Create a new daily 1700-0900 Datadog downtime for all monitors\n\t\t_, err := datadog.NewDowntime(ctx, \"foo\", \u0026datadog.DowntimeArgs{\n\t\t\tEnd: pulumi.Int(1483365600),\n\t\t\tRecurrence: \u0026datadog.DowntimeRecurrenceArgs{\n\t\t\t\tPeriod: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"days\"),\n\t\t\t},\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tStart: pulumi.Int(1483308000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Downtime;\nimport com.pulumi.datadog.DowntimeArgs;\nimport com.pulumi.datadog.inputs.DowntimeRecurrenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Downtime(\"foo\", DowntimeArgs.builder() \n .end(1483365600)\n .recurrence(DowntimeRecurrenceArgs.builder()\n .period(1)\n .type(\"days\")\n .build())\n .scopes(\"*\")\n .start(1483308000)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example: downtime for all monitors\n # // Create a new daily 1700-0900 Datadog downtime for all monitors\n foo:\n type: datadog:Downtime\n properties:\n end: 1.4833656e+09\n recurrence:\n period: 1\n type: days\n scopes:\n - '*'\n start: 1.483308e+09\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/downtime:Downtime bytes_received_localhost 2081\n```\n\n ", "properties": { "active": { "type": "boolean", @@ -75452,7 +75452,7 @@ } }, "datadog:index/metricMetadata:MetricMetadata": { - "description": "Provides a Datadog metric_metadata resource. This can be used to manage a metric's metadata.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a Datadog metric's metadata\nconst requestTime = new datadog.MetricMetadata(\"requestTime\", {\n description: \"99th percentile request time in milliseconds\",\n metric: \"request.time\",\n shortName: \"Request time\",\n type: \"gauge\",\n unit: \"millisecond\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a Datadog metric's metadata\nrequest_time = datadog.MetricMetadata(\"requestTime\",\n description=\"99th percentile request time in milliseconds\",\n metric=\"request.time\",\n short_name=\"Request time\",\n type=\"gauge\",\n unit=\"millisecond\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a Datadog metric's metadata\n var requestTime = new Datadog.MetricMetadata(\"requestTime\", new()\n {\n Description = \"99th percentile request time in milliseconds\",\n Metric = \"request.time\",\n ShortName = \"Request time\",\n Type = \"gauge\",\n Unit = \"millisecond\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMetricMetadata(ctx, \"requestTime\", \u0026datadog.MetricMetadataArgs{\n\t\t\tDescription: pulumi.String(\"99th percentile request time in milliseconds\"),\n\t\t\tMetric: pulumi.String(\"request.time\"),\n\t\t\tShortName: pulumi.String(\"Request time\"),\n\t\t\tType: pulumi.String(\"gauge\"),\n\t\t\tUnit: pulumi.String(\"millisecond\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricMetadata;\nimport com.pulumi.datadog.MetricMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var requestTime = new MetricMetadata(\"requestTime\", MetricMetadataArgs.builder() \n .description(\"99th percentile request time in milliseconds\")\n .metric(\"request.time\")\n .shortName(\"Request time\")\n .type(\"gauge\")\n .unit(\"millisecond\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a Datadog metric's metadata\n requestTime:\n type: datadog:MetricMetadata\n properties:\n description: 99th percentile request time in milliseconds\n metric: request.time\n shortName: Request time\n type: gauge\n unit: millisecond\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/metricMetadata:MetricMetadata request_time request.time\n```\n\n ", + "description": "Provides a Datadog metric_metadata resource. This can be used to manage a metric's metadata.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a Datadog metric's metadata\nconst requestTime = new datadog.MetricMetadata(\"requestTime\", {\n description: \"99th percentile request time in milliseconds\",\n metric: \"request.time\",\n shortName: \"Request time\",\n type: \"gauge\",\n unit: \"millisecond\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a Datadog metric's metadata\nrequest_time = datadog.MetricMetadata(\"requestTime\",\n description=\"99th percentile request time in milliseconds\",\n metric=\"request.time\",\n short_name=\"Request time\",\n type=\"gauge\",\n unit=\"millisecond\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a Datadog metric's metadata\n var requestTime = new Datadog.MetricMetadata(\"requestTime\", new()\n {\n Description = \"99th percentile request time in milliseconds\",\n Metric = \"request.time\",\n ShortName = \"Request time\",\n Type = \"gauge\",\n Unit = \"millisecond\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage a Datadog metric's metadata\n\t\t_, err := datadog.NewMetricMetadata(ctx, \"requestTime\", \u0026datadog.MetricMetadataArgs{\n\t\t\tDescription: pulumi.String(\"99th percentile request time in milliseconds\"),\n\t\t\tMetric: pulumi.String(\"request.time\"),\n\t\t\tShortName: pulumi.String(\"Request time\"),\n\t\t\tType: pulumi.String(\"gauge\"),\n\t\t\tUnit: pulumi.String(\"millisecond\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricMetadata;\nimport com.pulumi.datadog.MetricMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var requestTime = new MetricMetadata(\"requestTime\", MetricMetadataArgs.builder() \n .description(\"99th percentile request time in milliseconds\")\n .metric(\"request.time\")\n .shortName(\"Request time\")\n .type(\"gauge\")\n .unit(\"millisecond\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a Datadog metric's metadata\n requestTime:\n type: datadog:MetricMetadata\n properties:\n description: 99th percentile request time in milliseconds\n metric: request.time\n shortName: Request time\n type: gauge\n unit: millisecond\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/metricMetadata:MetricMetadata request_time request.time\n```\n\n ", "properties": { "description": { "type": "string", @@ -75555,7 +75555,7 @@ } }, "datadog:index/metricTagConfiguration:MetricTagConfiguration": { - "description": "Provides a Datadog metric tag configuration resource. This can be used to modify tag configurations for metrics.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a tag configuration for a Datadog distribution metric with/without percentiles\nconst exampleDistMetric = new datadog.MetricTagConfiguration(\"exampleDistMetric\", {\n includePercentiles: false,\n metricName: \"example.terraform.dist.metric\",\n metricType: \"distribution\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n});\n// Manage tag configurations for a Datadog count or gauge metric\nconst exampleCountMetric = new datadog.MetricTagConfiguration(\"exampleCountMetric\", {\n aggregations: [\n {\n space: \"min\",\n time: \"avg\",\n },\n {\n space: \"max\",\n time: \"avg\",\n },\n ],\n excludeTagsMode: false,\n metricName: \"example.terraform.count.metric\",\n metricType: \"count\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a tag configuration for a Datadog distribution metric with/without percentiles\nexample_dist_metric = datadog.MetricTagConfiguration(\"exampleDistMetric\",\n include_percentiles=False,\n metric_name=\"example.terraform.dist.metric\",\n metric_type=\"distribution\",\n tags=[\n \"sport\",\n \"datacenter\",\n ])\n# Manage tag configurations for a Datadog count or gauge metric\nexample_count_metric = datadog.MetricTagConfiguration(\"exampleCountMetric\",\n aggregations=[\n datadog.MetricTagConfigurationAggregationArgs(\n space=\"min\",\n time=\"avg\",\n ),\n datadog.MetricTagConfigurationAggregationArgs(\n space=\"max\",\n time=\"avg\",\n ),\n ],\n exclude_tags_mode=False,\n metric_name=\"example.terraform.count.metric\",\n metric_type=\"count\",\n tags=[\n \"sport\",\n \"datacenter\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a tag configuration for a Datadog distribution metric with/without percentiles\n var exampleDistMetric = new Datadog.MetricTagConfiguration(\"exampleDistMetric\", new()\n {\n IncludePercentiles = false,\n MetricName = \"example.terraform.dist.metric\",\n MetricType = \"distribution\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n });\n\n // Manage tag configurations for a Datadog count or gauge metric\n var exampleCountMetric = new Datadog.MetricTagConfiguration(\"exampleCountMetric\", new()\n {\n Aggregations = new[]\n {\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Space = \"min\",\n Time = \"avg\",\n },\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Space = \"max\",\n Time = \"avg\",\n },\n },\n ExcludeTagsMode = false,\n MetricName = \"example.terraform.count.metric\",\n MetricType = \"count\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMetricTagConfiguration(ctx, \"exampleDistMetric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tIncludePercentiles: pulumi.Bool(false),\n\t\t\tMetricName: pulumi.String(\"example.terraform.dist.metric\"),\n\t\t\tMetricType: pulumi.String(\"distribution\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewMetricTagConfiguration(ctx, \"exampleCountMetric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tAggregations: datadog.MetricTagConfigurationAggregationArray{\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tSpace: pulumi.String(\"min\"),\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tSpace: pulumi.String(\"max\"),\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tExcludeTagsMode: pulumi.Bool(false),\n\t\t\tMetricName: pulumi.String(\"example.terraform.count.metric\"),\n\t\t\tMetricType: pulumi.String(\"count\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricTagConfiguration;\nimport com.pulumi.datadog.MetricTagConfigurationArgs;\nimport com.pulumi.datadog.inputs.MetricTagConfigurationAggregationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDistMetric = new MetricTagConfiguration(\"exampleDistMetric\", MetricTagConfigurationArgs.builder() \n .includePercentiles(false)\n .metricName(\"example.terraform.dist.metric\")\n .metricType(\"distribution\")\n .tags( \n \"sport\",\n \"datacenter\")\n .build());\n\n var exampleCountMetric = new MetricTagConfiguration(\"exampleCountMetric\", MetricTagConfigurationArgs.builder() \n .aggregations( \n MetricTagConfigurationAggregationArgs.builder()\n .space(\"min\")\n .time(\"avg\")\n .build(),\n MetricTagConfigurationAggregationArgs.builder()\n .space(\"max\")\n .time(\"avg\")\n .build())\n .excludeTagsMode(false)\n .metricName(\"example.terraform.count.metric\")\n .metricType(\"count\")\n .tags( \n \"sport\",\n \"datacenter\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a tag configuration for a Datadog distribution metric with/without percentiles\n exampleDistMetric:\n type: datadog:MetricTagConfiguration\n properties:\n includePercentiles: false\n metricName: example.terraform.dist.metric\n metricType: distribution\n tags:\n - sport\n - datacenter\n # Manage tag configurations for a Datadog count or gauge metric\n exampleCountMetric:\n type: datadog:MetricTagConfiguration\n properties:\n aggregations:\n - space: min\n time: avg\n - space: max\n time: avg\n excludeTagsMode: false\n metricName: example.terraform.count.metric\n metricType: count\n tags:\n - sport\n - datacenter\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/metricTagConfiguration:MetricTagConfiguration example_dist_metric example.terraform.dist.metric\n```\n\n ", + "description": "Provides a Datadog metric tag configuration resource. This can be used to modify tag configurations for metrics.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a tag configuration for a Datadog distribution metric with/without percentiles\nconst exampleDistMetric = new datadog.MetricTagConfiguration(\"exampleDistMetric\", {\n includePercentiles: false,\n metricName: \"example.terraform.dist.metric\",\n metricType: \"distribution\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n});\n// Manage tag configurations for a Datadog count or gauge metric\nconst exampleCountMetric = new datadog.MetricTagConfiguration(\"exampleCountMetric\", {\n aggregations: [\n {\n space: \"min\",\n time: \"avg\",\n },\n {\n space: \"max\",\n time: \"avg\",\n },\n ],\n excludeTagsMode: false,\n metricName: \"example.terraform.count.metric\",\n metricType: \"count\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a tag configuration for a Datadog distribution metric with/without percentiles\nexample_dist_metric = datadog.MetricTagConfiguration(\"exampleDistMetric\",\n include_percentiles=False,\n metric_name=\"example.terraform.dist.metric\",\n metric_type=\"distribution\",\n tags=[\n \"sport\",\n \"datacenter\",\n ])\n# Manage tag configurations for a Datadog count or gauge metric\nexample_count_metric = datadog.MetricTagConfiguration(\"exampleCountMetric\",\n aggregations=[\n datadog.MetricTagConfigurationAggregationArgs(\n space=\"min\",\n time=\"avg\",\n ),\n datadog.MetricTagConfigurationAggregationArgs(\n space=\"max\",\n time=\"avg\",\n ),\n ],\n exclude_tags_mode=False,\n metric_name=\"example.terraform.count.metric\",\n metric_type=\"count\",\n tags=[\n \"sport\",\n \"datacenter\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a tag configuration for a Datadog distribution metric with/without percentiles\n var exampleDistMetric = new Datadog.MetricTagConfiguration(\"exampleDistMetric\", new()\n {\n IncludePercentiles = false,\n MetricName = \"example.terraform.dist.metric\",\n MetricType = \"distribution\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n });\n\n // Manage tag configurations for a Datadog count or gauge metric\n var exampleCountMetric = new Datadog.MetricTagConfiguration(\"exampleCountMetric\", new()\n {\n Aggregations = new[]\n {\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Space = \"min\",\n Time = \"avg\",\n },\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Space = \"max\",\n Time = \"avg\",\n },\n },\n ExcludeTagsMode = false,\n MetricName = \"example.terraform.count.metric\",\n MetricType = \"count\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage a tag configuration for a Datadog distribution metric with/without percentiles\n\t\t_, err := datadog.NewMetricTagConfiguration(ctx, \"exampleDistMetric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tIncludePercentiles: pulumi.Bool(false),\n\t\t\tMetricName: pulumi.String(\"example.terraform.dist.metric\"),\n\t\t\tMetricType: pulumi.String(\"distribution\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manage tag configurations for a Datadog count or gauge metric\n\t\t_, err = datadog.NewMetricTagConfiguration(ctx, \"exampleCountMetric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tAggregations: datadog.MetricTagConfigurationAggregationArray{\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tSpace: pulumi.String(\"min\"),\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tSpace: pulumi.String(\"max\"),\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tExcludeTagsMode: pulumi.Bool(false),\n\t\t\tMetricName: pulumi.String(\"example.terraform.count.metric\"),\n\t\t\tMetricType: pulumi.String(\"count\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricTagConfiguration;\nimport com.pulumi.datadog.MetricTagConfigurationArgs;\nimport com.pulumi.datadog.inputs.MetricTagConfigurationAggregationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDistMetric = new MetricTagConfiguration(\"exampleDistMetric\", MetricTagConfigurationArgs.builder() \n .includePercentiles(false)\n .metricName(\"example.terraform.dist.metric\")\n .metricType(\"distribution\")\n .tags( \n \"sport\",\n \"datacenter\")\n .build());\n\n var exampleCountMetric = new MetricTagConfiguration(\"exampleCountMetric\", MetricTagConfigurationArgs.builder() \n .aggregations( \n MetricTagConfigurationAggregationArgs.builder()\n .space(\"min\")\n .time(\"avg\")\n .build(),\n MetricTagConfigurationAggregationArgs.builder()\n .space(\"max\")\n .time(\"avg\")\n .build())\n .excludeTagsMode(false)\n .metricName(\"example.terraform.count.metric\")\n .metricType(\"count\")\n .tags( \n \"sport\",\n \"datacenter\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a tag configuration for a Datadog distribution metric with/without percentiles\n exampleDistMetric:\n type: datadog:MetricTagConfiguration\n properties:\n includePercentiles: false\n metricName: example.terraform.dist.metric\n metricType: distribution\n tags:\n - sport\n - datacenter\n # Manage tag configurations for a Datadog count or gauge metric\n exampleCountMetric:\n type: datadog:MetricTagConfiguration\n properties:\n aggregations:\n - space: min\n time: avg\n - space: max\n time: avg\n excludeTagsMode: false\n metricName: example.terraform.count.metric\n metricType: count\n tags:\n - sport\n - datacenter\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/metricTagConfiguration:MetricTagConfiguration example_dist_metric example.terraform.dist.metric\n```\n\n ", "properties": { "aggregations": { "type": "array", @@ -76241,7 +76241,7 @@ } }, "datadog:index/openapiApi:OpenapiApi": { - "description": "Provides a Datadog OpenapiApi resource. This can be used to create and manage Datadog openapi_api.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\nimport * as fs from \"fs\";\n\n// Create new openapi_api resource\nconst my_api = new datadog.OpenapiApi(\"my-api\", {spec: fs.readFileSync(\"./path/my-api.yaml\", \"utf8\")});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new openapi_api resource\nmy_api = datadog.OpenapiApi(\"my-api\", spec=(lambda path: open(path).read())(\"./path/my-api.yaml\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new openapi_api resource\n var my_api = new Datadog.OpenapiApi(\"my-api\", new()\n {\n Spec = File.ReadAllText(\"./path/my-api.yaml\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewOpenapiApi(ctx, \"my-api\", \u0026datadog.OpenapiApiArgs{\n\t\t\tSpec: readFileOrPanic(\"./path/my-api.yaml\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OpenapiApi;\nimport com.pulumi.datadog.OpenapiApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var my_api = new OpenapiApi(\"my-api\", OpenapiApiArgs.builder() \n .spec(Files.readString(Paths.get(\"./path/my-api.yaml\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new openapi_api resource\n my-api:\n type: datadog:OpenapiApi\n properties:\n spec:\n fn::readFile: ./path/my-api.yaml\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/openapiApi:OpenapiApi new_list \"90646597-5fdb-4a17-a240-647003f8c028\"\n```\n\n ", + "description": "Provides a Datadog OpenapiApi resource. This can be used to create and manage Datadog openapi_api.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\nimport * as fs from \"fs\";\n\n// Create new openapi_api resource\nconst my_api = new datadog.OpenapiApi(\"my-api\", {spec: fs.readFileSync(\"./path/my-api.yaml\", \"utf8\")});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new openapi_api resource\nmy_api = datadog.OpenapiApi(\"my-api\", spec=(lambda path: open(path).read())(\"./path/my-api.yaml\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new openapi_api resource\n var my_api = new Datadog.OpenapiApi(\"my-api\", new()\n {\n Spec = File.ReadAllText(\"./path/my-api.yaml\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new openapi_api resource\n\t\t_, err := datadog.NewOpenapiApi(ctx, \"my-api\", \u0026datadog.OpenapiApiArgs{\n\t\t\tSpec: readFileOrPanic(\"./path/my-api.yaml\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OpenapiApi;\nimport com.pulumi.datadog.OpenapiApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var my_api = new OpenapiApi(\"my-api\", OpenapiApiArgs.builder() \n .spec(Files.readString(Paths.get(\"./path/my-api.yaml\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new openapi_api resource\n my-api:\n type: datadog:OpenapiApi\n properties:\n spec:\n fn::readFile: ./path/my-api.yaml\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/openapiApi:OpenapiApi new_list \"90646597-5fdb-4a17-a240-647003f8c028\"\n```\n\n ", "properties": { "spec": { "type": "string", @@ -76272,7 +76272,7 @@ } }, "datadog:index/organizationSettings:OrganizationSettings": { - "description": "Provides a Datadog Organization resource. This can be used to manage your Datadog organization's settings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage Datadog Organization\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Organization\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Organization\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Organization\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/organizationSettings:OrganizationSettings organization 11111111-2222-3333-4444-555555555555\n```\n\n ", + "description": "Provides a Datadog Organization resource. This can be used to manage your Datadog organization's settings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage Datadog Organization\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Organization\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Organization\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage Datadog Organization\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Organization\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/organizationSettings:OrganizationSettings organization 11111111-2222-3333-4444-555555555555\n```\n\n ", "properties": { "description": { "type": "string", @@ -76330,7 +76330,7 @@ } }, "datadog:index/powerpack:Powerpack": { - "description": "Provides a Datadog powerpack resource. This can be used to create and manage Datadog powerpacks.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage Datadog Powerpacks\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\nconst foo = new datadog.Powerpack(\"foo\", {\n description: \"Created using the Datadog provider in terraform\",\n layout: {\n height: 10,\n width: 3,\n x: 1,\n y: 0,\n },\n liveSpan: \"4h\",\n templateVariables: [{\n defaults: [\"defaults\"],\n name: \"datacenter\",\n }],\n widgets: [{\n eventStreamDefinition: {\n eventSize: \"l\",\n query: \"*\",\n title: \"Widget Title\",\n titleAlign: \"right\",\n titleSize: \"16\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Powerpacks\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\nfoo = datadog.Powerpack(\"foo\",\n description=\"Created using the Datadog provider in terraform\",\n layout=datadog.PowerpackLayoutArgs(\n height=10,\n width=3,\n x=1,\n y=0,\n ),\n live_span=\"4h\",\n template_variables=[datadog.PowerpackTemplateVariableArgs(\n defaults=[\"defaults\"],\n name=\"datacenter\",\n )],\n widgets=[datadog.PowerpackWidgetArgs(\n event_stream_definition=datadog.PowerpackWidgetEventStreamDefinitionArgs(\n event_size=\"l\",\n query=\"*\",\n title=\"Widget Title\",\n title_align=\"right\",\n title_size=\"16\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Powerpacks\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n var foo = new Datadog.Powerpack(\"foo\", new()\n {\n Description = \"Created using the Datadog provider in terraform\",\n Layout = new Datadog.Inputs.PowerpackLayoutArgs\n {\n Height = 10,\n Width = 3,\n X = 1,\n Y = 0,\n },\n LiveSpan = \"4h\",\n TemplateVariables = new[]\n {\n new Datadog.Inputs.PowerpackTemplateVariableArgs\n {\n Defaults = new[]\n {\n \"defaults\",\n },\n Name = \"datacenter\",\n },\n },\n Widgets = new[]\n {\n new Datadog.Inputs.PowerpackWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.PowerpackWidgetEventStreamDefinitionArgs\n {\n EventSize = \"l\",\n Query = \"*\",\n Title = \"Widget Title\",\n TitleAlign = \"right\",\n TitleSize = \"16\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewPowerpack(ctx, \"foo\", \u0026datadog.PowerpackArgs{\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in terraform\"),\n\t\t\tLayout: \u0026datadog.PowerpackLayoutArgs{\n\t\t\t\tHeight: pulumi.Int(10),\n\t\t\t\tWidth: pulumi.Int(3),\n\t\t\t\tX: pulumi.Int(1),\n\t\t\t\tY: pulumi.Int(0),\n\t\t\t},\n\t\t\tLiveSpan: pulumi.String(\"4h\"),\n\t\t\tTemplateVariables: datadog.PowerpackTemplateVariableArray{\n\t\t\t\t\u0026datadog.PowerpackTemplateVariableArgs{\n\t\t\t\t\tDefaults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"defaults\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"datacenter\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWidgets: datadog.PowerpackWidgetArray{\n\t\t\t\t\u0026datadog.PowerpackWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.PowerpackWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"right\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport com.pulumi.datadog.Powerpack;\nimport com.pulumi.datadog.PowerpackArgs;\nimport com.pulumi.datadog.inputs.PowerpackLayoutArgs;\nimport com.pulumi.datadog.inputs.PowerpackTemplateVariableArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetEventStreamDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n var foo = new Powerpack(\"foo\", PowerpackArgs.builder() \n .description(\"Created using the Datadog provider in terraform\")\n .layout(PowerpackLayoutArgs.builder()\n .height(10)\n .width(3)\n .x(1)\n .y(0)\n .build())\n .liveSpan(\"4h\")\n .templateVariables(PowerpackTemplateVariableArgs.builder()\n .defaults(\"defaults\")\n .name(\"datacenter\")\n .build())\n .widgets(PowerpackWidgetArgs.builder()\n .eventStreamDefinition(PowerpackWidgetEventStreamDefinitionArgs.builder()\n .eventSize(\"l\")\n .query(\"*\")\n .title(\"Widget Title\")\n .titleAlign(\"right\")\n .titleSize(16)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Powerpacks\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n foo:\n type: datadog:Powerpack\n properties:\n description: Created using the Datadog provider in terraform\n layout:\n height: 10\n width: 3\n x: 1\n y: 0\n liveSpan: 4h\n templateVariables:\n - defaults:\n - defaults\n name: datacenter\n widgets:\n - eventStreamDefinition:\n eventSize: l\n query: '*'\n title: Widget Title\n titleAlign: right\n titleSize: 16\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/powerpack:Powerpack foo 11111111-2222-3333-4444-555555555555\n```\n\n ", + "description": "Provides a Datadog powerpack resource. This can be used to create and manage Datadog powerpacks.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage Datadog Powerpacks\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\nconst foo = new datadog.Powerpack(\"foo\", {\n description: \"Created using the Datadog provider in terraform\",\n layout: {\n height: 10,\n width: 3,\n x: 1,\n y: 0,\n },\n liveSpan: \"4h\",\n templateVariables: [{\n defaults: [\"defaults\"],\n name: \"datacenter\",\n }],\n widgets: [{\n eventStreamDefinition: {\n eventSize: \"l\",\n query: \"*\",\n title: \"Widget Title\",\n titleAlign: \"right\",\n titleSize: \"16\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Powerpacks\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\nfoo = datadog.Powerpack(\"foo\",\n description=\"Created using the Datadog provider in terraform\",\n layout=datadog.PowerpackLayoutArgs(\n height=10,\n width=3,\n x=1,\n y=0,\n ),\n live_span=\"4h\",\n template_variables=[datadog.PowerpackTemplateVariableArgs(\n defaults=[\"defaults\"],\n name=\"datacenter\",\n )],\n widgets=[datadog.PowerpackWidgetArgs(\n event_stream_definition=datadog.PowerpackWidgetEventStreamDefinitionArgs(\n event_size=\"l\",\n query=\"*\",\n title=\"Widget Title\",\n title_align=\"right\",\n title_size=\"16\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Powerpacks\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n var foo = new Datadog.Powerpack(\"foo\", new()\n {\n Description = \"Created using the Datadog provider in terraform\",\n Layout = new Datadog.Inputs.PowerpackLayoutArgs\n {\n Height = 10,\n Width = 3,\n X = 1,\n Y = 0,\n },\n LiveSpan = \"4h\",\n TemplateVariables = new[]\n {\n new Datadog.Inputs.PowerpackTemplateVariableArgs\n {\n Defaults = new[]\n {\n \"defaults\",\n },\n Name = \"datacenter\",\n },\n },\n Widgets = new[]\n {\n new Datadog.Inputs.PowerpackWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.PowerpackWidgetEventStreamDefinitionArgs\n {\n EventSize = \"l\",\n Query = \"*\",\n Title = \"Widget Title\",\n TitleAlign = \"right\",\n TitleSize = \"16\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage Datadog Powerpacks\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewPowerpack(ctx, \"foo\", \u0026datadog.PowerpackArgs{\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in terraform\"),\n\t\t\tLayout: \u0026datadog.PowerpackLayoutArgs{\n\t\t\t\tHeight: pulumi.Int(10),\n\t\t\t\tWidth: pulumi.Int(3),\n\t\t\t\tX: pulumi.Int(1),\n\t\t\t\tY: pulumi.Int(0),\n\t\t\t},\n\t\t\tLiveSpan: pulumi.String(\"4h\"),\n\t\t\tTemplateVariables: datadog.PowerpackTemplateVariableArray{\n\t\t\t\t\u0026datadog.PowerpackTemplateVariableArgs{\n\t\t\t\t\tDefaults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"defaults\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"datacenter\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWidgets: datadog.PowerpackWidgetArray{\n\t\t\t\t\u0026datadog.PowerpackWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.PowerpackWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"right\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport com.pulumi.datadog.Powerpack;\nimport com.pulumi.datadog.PowerpackArgs;\nimport com.pulumi.datadog.inputs.PowerpackLayoutArgs;\nimport com.pulumi.datadog.inputs.PowerpackTemplateVariableArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetEventStreamDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n var foo = new Powerpack(\"foo\", PowerpackArgs.builder() \n .description(\"Created using the Datadog provider in terraform\")\n .layout(PowerpackLayoutArgs.builder()\n .height(10)\n .width(3)\n .x(1)\n .y(0)\n .build())\n .liveSpan(\"4h\")\n .templateVariables(PowerpackTemplateVariableArgs.builder()\n .defaults(\"defaults\")\n .name(\"datacenter\")\n .build())\n .widgets(PowerpackWidgetArgs.builder()\n .eventStreamDefinition(PowerpackWidgetEventStreamDefinitionArgs.builder()\n .eventSize(\"l\")\n .query(\"*\")\n .title(\"Widget Title\")\n .titleAlign(\"right\")\n .titleSize(16)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Powerpacks\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n foo:\n type: datadog:Powerpack\n properties:\n description: Created using the Datadog provider in terraform\n layout:\n height: 10\n width: 3\n x: 1\n y: 0\n liveSpan: 4h\n templateVariables:\n - defaults:\n - defaults\n name: datacenter\n widgets:\n - eventStreamDefinition:\n eventSize: l\n query: '*'\n title: Widget Title\n titleAlign: right\n titleSize: 16\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/powerpack:Powerpack foo 11111111-2222-3333-4444-555555555555\n```\n\n ", "properties": { "description": { "type": "string", @@ -76518,7 +76518,7 @@ } }, "datadog:index/role:Role": { - "description": "Provides a Datadog role resource. This can be used to create and manage Datadog roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst bar = datadog.getPermissions({});\n// Create a new Datadog role\nconst foo = new datadog.Role(\"foo\", {\n name: \"foo\",\n permissions: [\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsDowntime),\n },\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsWrite),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nbar = datadog.get_permissions()\n# Create a new Datadog role\nfoo = datadog.Role(\"foo\",\n name=\"foo\",\n permissions=[\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsDowntime\"],\n ),\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsWrite\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Datadog.GetPermissions.Invoke();\n\n // Create a new Datadog role\n var foo = new Datadog.Role(\"foo\", new()\n {\n Name = \"foo\",\n Permissions = new[]\n {\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsDowntime),\n },\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsWrite),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := datadog.GetPermissions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewRole(ctx, \"foo\", \u0026datadog.RoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPermissions: datadog.RolePermissionArray{\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: *pulumi.String(bar.Permissions.MonitorsDowntime),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: *pulumi.String(bar.Permissions.MonitorsWrite),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetPermissionsArgs;\nimport com.pulumi.datadog.Role;\nimport com.pulumi.datadog.RoleArgs;\nimport com.pulumi.datadog.inputs.RolePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = DatadogFunctions.getPermissions();\n\n var foo = new Role(\"foo\", RoleArgs.builder() \n .name(\"foo\")\n .permissions( \n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsDowntime()))\n .build(),\n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsWrite()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog role\n foo:\n type: datadog:Role\n properties:\n name: foo\n permissions:\n - id: ${bar.permissions.monitorsDowntime}\n - id: ${bar.permissions.monitorsWrite}\nvariables:\n bar:\n fn::invoke:\n Function: datadog:getPermissions\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRoles can be imported using their ID, e.g.\n\n ```sh\n $ pulumi import datadog:index/role:Role example_role 000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Provides a Datadog role resource. This can be used to create and manage Datadog roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst bar = datadog.getPermissions({});\n// Create a new Datadog role\nconst foo = new datadog.Role(\"foo\", {\n name: \"foo\",\n permissions: [\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsDowntime),\n },\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsWrite),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nbar = datadog.get_permissions()\n# Create a new Datadog role\nfoo = datadog.Role(\"foo\",\n name=\"foo\",\n permissions=[\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsDowntime\"],\n ),\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsWrite\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Datadog.GetPermissions.Invoke();\n\n // Create a new Datadog role\n var foo = new Datadog.Role(\"foo\", new()\n {\n Name = \"foo\",\n Permissions = new[]\n {\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsDowntime),\n },\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsWrite),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := datadog.GetPermissions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog role\n\t\t_, err = datadog.NewRole(ctx, \"foo\", \u0026datadog.RoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPermissions: datadog.RolePermissionArray{\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: *pulumi.String(bar.Permissions.MonitorsDowntime),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: *pulumi.String(bar.Permissions.MonitorsWrite),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetPermissionsArgs;\nimport com.pulumi.datadog.Role;\nimport com.pulumi.datadog.RoleArgs;\nimport com.pulumi.datadog.inputs.RolePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = DatadogFunctions.getPermissions();\n\n var foo = new Role(\"foo\", RoleArgs.builder() \n .name(\"foo\")\n .permissions( \n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsDowntime()))\n .build(),\n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsWrite()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog role\n foo:\n type: datadog:Role\n properties:\n name: foo\n permissions:\n - id: ${bar.permissions.monitorsDowntime}\n - id: ${bar.permissions.monitorsWrite}\nvariables:\n bar:\n fn::invoke:\n Function: datadog:getPermissions\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRoles can be imported using their ID, e.g.\n\n ```sh\n $ pulumi import datadog:index/role:Role example_role 000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "name": { "type": "string", @@ -77285,7 +77285,7 @@ } }, "datadog:index/sensitiveDataScannerRule:SensitiveDataScannerRule": { - "description": "Provides a Datadog SensitiveDataScannerRule resource. This can be used to create and manage Datadog sensitive_data_scanner_rule. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying the `included_keyword_configuration` field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\nconst mygroup = new datadog.SensitiveDataScannerGroup(\"mygroup\", {\n name: \"My new scanning group\",\n description: \"A relevant description\",\n filter: {\n query: \"service:my-service\",\n },\n isEnabled: true,\n productLists: [\"apm\"],\n});\nconst myrule = new datadog.SensitiveDataScannerRule(\"myrule\", {\n name: \"My new rule\",\n description: \"Another description\",\n groupId: mygroup.id,\n excludedNamespaces: [\"username\"],\n isEnabled: true,\n pattern: \"myregex\",\n tags: [\"sensitive_data:true\"],\n textReplacement: {\n numberOfChars: 0,\n replacementString: \"\",\n type: \"hash\",\n },\n includedKeywordConfiguration: {\n keywords: [\n \"cc\",\n \"credit card\",\n ],\n characterCount: 30,\n },\n});\nconst awsSp = datadog.getSensitiveDataScannerStandardPattern({\n filter: \"AWS Access Key ID Scanner\",\n});\nconst mylibraryrule = new datadog.SensitiveDataScannerRule(\"mylibraryrule\", {\n name: \"My library rule\",\n description: \"A description\",\n groupId: mygroup.id,\n standardPatternId: awsSp.then(awsSp =\u003e awsSp.id),\n excludedNamespaces: [\"username\"],\n isEnabled: true,\n tags: [\"sensitive_data:true\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\nmygroup = datadog.SensitiveDataScannerGroup(\"mygroup\",\n name=\"My new scanning group\",\n description=\"A relevant description\",\n filter=datadog.SensitiveDataScannerGroupFilterArgs(\n query=\"service:my-service\",\n ),\n is_enabled=True,\n product_lists=[\"apm\"])\nmyrule = datadog.SensitiveDataScannerRule(\"myrule\",\n name=\"My new rule\",\n description=\"Another description\",\n group_id=mygroup.id,\n excluded_namespaces=[\"username\"],\n is_enabled=True,\n pattern=\"myregex\",\n tags=[\"sensitive_data:true\"],\n text_replacement=datadog.SensitiveDataScannerRuleTextReplacementArgs(\n number_of_chars=0,\n replacement_string=\"\",\n type=\"hash\",\n ),\n included_keyword_configuration=datadog.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs(\n keywords=[\n \"cc\",\n \"credit card\",\n ],\n character_count=30,\n ))\naws_sp = datadog.get_sensitive_data_scanner_standard_pattern(filter=\"AWS Access Key ID Scanner\")\nmylibraryrule = datadog.SensitiveDataScannerRule(\"mylibraryrule\",\n name=\"My library rule\",\n description=\"A description\",\n group_id=mygroup.id,\n standard_pattern_id=aws_sp.id,\n excluded_namespaces=[\"username\"],\n is_enabled=True,\n tags=[\"sensitive_data:true\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\n var mygroup = new Datadog.SensitiveDataScannerGroup(\"mygroup\", new()\n {\n Name = \"My new scanning group\",\n Description = \"A relevant description\",\n Filter = new Datadog.Inputs.SensitiveDataScannerGroupFilterArgs\n {\n Query = \"service:my-service\",\n },\n IsEnabled = true,\n ProductLists = new[]\n {\n \"apm\",\n },\n });\n\n var myrule = new Datadog.SensitiveDataScannerRule(\"myrule\", new()\n {\n Name = \"My new rule\",\n Description = \"Another description\",\n GroupId = mygroup.Id,\n ExcludedNamespaces = new[]\n {\n \"username\",\n },\n IsEnabled = true,\n Pattern = \"myregex\",\n Tags = new[]\n {\n \"sensitive_data:true\",\n },\n TextReplacement = new Datadog.Inputs.SensitiveDataScannerRuleTextReplacementArgs\n {\n NumberOfChars = 0,\n ReplacementString = \"\",\n Type = \"hash\",\n },\n IncludedKeywordConfiguration = new Datadog.Inputs.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs\n {\n Keywords = new[]\n {\n \"cc\",\n \"credit card\",\n },\n CharacterCount = 30,\n },\n });\n\n var awsSp = Datadog.GetSensitiveDataScannerStandardPattern.Invoke(new()\n {\n Filter = \"AWS Access Key ID Scanner\",\n });\n\n var mylibraryrule = new Datadog.SensitiveDataScannerRule(\"mylibraryrule\", new()\n {\n Name = \"My library rule\",\n Description = \"A description\",\n GroupId = mygroup.Id,\n StandardPatternId = awsSp.Apply(getSensitiveDataScannerStandardPatternResult =\u003e getSensitiveDataScannerStandardPatternResult.Id),\n ExcludedNamespaces = new[]\n {\n \"username\",\n },\n IsEnabled = true,\n Tags = new[]\n {\n \"sensitive_data:true\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmygroup, err := datadog.NewSensitiveDataScannerGroup(ctx, \"mygroup\", \u0026datadog.SensitiveDataScannerGroupArgs{\n\t\t\tName: pulumi.String(\"My new scanning group\"),\n\t\t\tDescription: pulumi.String(\"A relevant description\"),\n\t\t\tFilter: \u0026datadog.SensitiveDataScannerGroupFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"service:my-service\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tProductLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"apm\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSensitiveDataScannerRule(ctx, \"myrule\", \u0026datadog.SensitiveDataScannerRuleArgs{\n\t\t\tName: pulumi.String(\"My new rule\"),\n\t\t\tDescription: pulumi.String(\"Another description\"),\n\t\t\tGroupId: mygroup.ID(),\n\t\t\tExcludedNamespaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tPattern: pulumi.String(\"myregex\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sensitive_data:true\"),\n\t\t\t},\n\t\t\tTextReplacement: \u0026datadog.SensitiveDataScannerRuleTextReplacementArgs{\n\t\t\t\tNumberOfChars: pulumi.Int(0),\n\t\t\t\tReplacementString: pulumi.String(\"\"),\n\t\t\t\tType: pulumi.String(\"hash\"),\n\t\t\t},\n\t\t\tIncludedKeywordConfiguration: \u0026datadog.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs{\n\t\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cc\"),\n\t\t\t\t\tpulumi.String(\"credit card\"),\n\t\t\t\t},\n\t\t\t\tCharacterCount: pulumi.Int(30),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsSp, err := datadog.GetSensitiveDataScannerStandardPattern(ctx, \u0026datadog.GetSensitiveDataScannerStandardPatternArgs{\n\t\t\tFilter: \"AWS Access Key ID Scanner\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSensitiveDataScannerRule(ctx, \"mylibraryrule\", \u0026datadog.SensitiveDataScannerRuleArgs{\n\t\t\tName: pulumi.String(\"My library rule\"),\n\t\t\tDescription: pulumi.String(\"A description\"),\n\t\t\tGroupId: mygroup.ID(),\n\t\t\tStandardPatternId: *pulumi.String(awsSp.Id),\n\t\t\tExcludedNamespaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sensitive_data:true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SensitiveDataScannerGroup;\nimport com.pulumi.datadog.SensitiveDataScannerGroupArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerGroupFilterArgs;\nimport com.pulumi.datadog.SensitiveDataScannerRule;\nimport com.pulumi.datadog.SensitiveDataScannerRuleArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerRuleTextReplacementArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetSensitiveDataScannerStandardPatternArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mygroup = new SensitiveDataScannerGroup(\"mygroup\", SensitiveDataScannerGroupArgs.builder() \n .name(\"My new scanning group\")\n .description(\"A relevant description\")\n .filter(SensitiveDataScannerGroupFilterArgs.builder()\n .query(\"service:my-service\")\n .build())\n .isEnabled(true)\n .productLists(\"apm\")\n .build());\n\n var myrule = new SensitiveDataScannerRule(\"myrule\", SensitiveDataScannerRuleArgs.builder() \n .name(\"My new rule\")\n .description(\"Another description\")\n .groupId(mygroup.id())\n .excludedNamespaces(\"username\")\n .isEnabled(true)\n .pattern(\"myregex\")\n .tags(\"sensitive_data:true\")\n .textReplacement(SensitiveDataScannerRuleTextReplacementArgs.builder()\n .numberOfChars(0)\n .replacementString(\"\")\n .type(\"hash\")\n .build())\n .includedKeywordConfiguration(SensitiveDataScannerRuleIncludedKeywordConfigurationArgs.builder()\n .keywords( \n \"cc\",\n \"credit card\")\n .characterCount(30)\n .build())\n .build());\n\n final var awsSp = DatadogFunctions.getSensitiveDataScannerStandardPattern(GetSensitiveDataScannerStandardPatternArgs.builder()\n .filter(\"AWS Access Key ID Scanner\")\n .build());\n\n var mylibraryrule = new SensitiveDataScannerRule(\"mylibraryrule\", SensitiveDataScannerRuleArgs.builder() \n .name(\"My library rule\")\n .description(\"A description\")\n .groupId(mygroup.id())\n .standardPatternId(awsSp.applyValue(getSensitiveDataScannerStandardPatternResult -\u003e getSensitiveDataScannerStandardPatternResult.id()))\n .excludedNamespaces(\"username\")\n .isEnabled(true)\n .tags(\"sensitive_data:true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\n mygroup:\n type: datadog:SensitiveDataScannerGroup\n properties:\n name: My new scanning group\n description: A relevant description\n filter:\n query: service:my-service\n isEnabled: true\n productLists:\n - apm\n myrule:\n type: datadog:SensitiveDataScannerRule\n properties:\n name: My new rule\n description: Another description\n groupId: ${mygroup.id}\n excludedNamespaces:\n - username\n isEnabled: true\n pattern: myregex\n tags:\n - sensitive_data:true\n textReplacement:\n numberOfChars: 0\n replacementString:\n type: hash\n includedKeywordConfiguration:\n keywords:\n - cc\n - credit card\n characterCount: 30\n mylibraryrule:\n type: datadog:SensitiveDataScannerRule\n properties:\n name: My library rule\n description: A description\n groupId: ${mygroup.id}\n # As standard_pattern_id is provided, the resource MUST NOT contain the \"pattern\" attribute\n standardPatternId: ${awsSp.id}\n excludedNamespaces:\n - username\n isEnabled: true\n tags:\n - sensitive_data:true\nvariables:\n awsSp:\n fn::invoke:\n Function: datadog:getSensitiveDataScannerStandardPattern\n Arguments:\n filter: AWS Access Key ID Scanner\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/sensitiveDataScannerRule:SensitiveDataScannerRule new_list \"\"\n```\n\n ", + "description": "Provides a Datadog SensitiveDataScannerRule resource. This can be used to create and manage Datadog sensitive_data_scanner_rule. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying the `included_keyword_configuration` field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\nconst mygroup = new datadog.SensitiveDataScannerGroup(\"mygroup\", {\n name: \"My new scanning group\",\n description: \"A relevant description\",\n filter: {\n query: \"service:my-service\",\n },\n isEnabled: true,\n productLists: [\"apm\"],\n});\nconst myrule = new datadog.SensitiveDataScannerRule(\"myrule\", {\n name: \"My new rule\",\n description: \"Another description\",\n groupId: mygroup.id,\n excludedNamespaces: [\"username\"],\n isEnabled: true,\n pattern: \"myregex\",\n tags: [\"sensitive_data:true\"],\n textReplacement: {\n numberOfChars: 0,\n replacementString: \"\",\n type: \"hash\",\n },\n includedKeywordConfiguration: {\n keywords: [\n \"cc\",\n \"credit card\",\n ],\n characterCount: 30,\n },\n});\nconst awsSp = datadog.getSensitiveDataScannerStandardPattern({\n filter: \"AWS Access Key ID Scanner\",\n});\nconst mylibraryrule = new datadog.SensitiveDataScannerRule(\"mylibraryrule\", {\n name: \"My library rule\",\n description: \"A description\",\n groupId: mygroup.id,\n standardPatternId: awsSp.then(awsSp =\u003e awsSp.id),\n excludedNamespaces: [\"username\"],\n isEnabled: true,\n tags: [\"sensitive_data:true\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\nmygroup = datadog.SensitiveDataScannerGroup(\"mygroup\",\n name=\"My new scanning group\",\n description=\"A relevant description\",\n filter=datadog.SensitiveDataScannerGroupFilterArgs(\n query=\"service:my-service\",\n ),\n is_enabled=True,\n product_lists=[\"apm\"])\nmyrule = datadog.SensitiveDataScannerRule(\"myrule\",\n name=\"My new rule\",\n description=\"Another description\",\n group_id=mygroup.id,\n excluded_namespaces=[\"username\"],\n is_enabled=True,\n pattern=\"myregex\",\n tags=[\"sensitive_data:true\"],\n text_replacement=datadog.SensitiveDataScannerRuleTextReplacementArgs(\n number_of_chars=0,\n replacement_string=\"\",\n type=\"hash\",\n ),\n included_keyword_configuration=datadog.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs(\n keywords=[\n \"cc\",\n \"credit card\",\n ],\n character_count=30,\n ))\naws_sp = datadog.get_sensitive_data_scanner_standard_pattern(filter=\"AWS Access Key ID Scanner\")\nmylibraryrule = datadog.SensitiveDataScannerRule(\"mylibraryrule\",\n name=\"My library rule\",\n description=\"A description\",\n group_id=mygroup.id,\n standard_pattern_id=aws_sp.id,\n excluded_namespaces=[\"username\"],\n is_enabled=True,\n tags=[\"sensitive_data:true\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\n var mygroup = new Datadog.SensitiveDataScannerGroup(\"mygroup\", new()\n {\n Name = \"My new scanning group\",\n Description = \"A relevant description\",\n Filter = new Datadog.Inputs.SensitiveDataScannerGroupFilterArgs\n {\n Query = \"service:my-service\",\n },\n IsEnabled = true,\n ProductLists = new[]\n {\n \"apm\",\n },\n });\n\n var myrule = new Datadog.SensitiveDataScannerRule(\"myrule\", new()\n {\n Name = \"My new rule\",\n Description = \"Another description\",\n GroupId = mygroup.Id,\n ExcludedNamespaces = new[]\n {\n \"username\",\n },\n IsEnabled = true,\n Pattern = \"myregex\",\n Tags = new[]\n {\n \"sensitive_data:true\",\n },\n TextReplacement = new Datadog.Inputs.SensitiveDataScannerRuleTextReplacementArgs\n {\n NumberOfChars = 0,\n ReplacementString = \"\",\n Type = \"hash\",\n },\n IncludedKeywordConfiguration = new Datadog.Inputs.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs\n {\n Keywords = new[]\n {\n \"cc\",\n \"credit card\",\n },\n CharacterCount = 30,\n },\n });\n\n var awsSp = Datadog.GetSensitiveDataScannerStandardPattern.Invoke(new()\n {\n Filter = \"AWS Access Key ID Scanner\",\n });\n\n var mylibraryrule = new Datadog.SensitiveDataScannerRule(\"mylibraryrule\", new()\n {\n Name = \"My library rule\",\n Description = \"A description\",\n GroupId = mygroup.Id,\n StandardPatternId = awsSp.Apply(getSensitiveDataScannerStandardPatternResult =\u003e getSensitiveDataScannerStandardPatternResult.Id),\n ExcludedNamespaces = new[]\n {\n \"username\",\n },\n IsEnabled = true,\n Tags = new[]\n {\n \"sensitive_data:true\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\n\t\tmygroup, err := datadog.NewSensitiveDataScannerGroup(ctx, \"mygroup\", \u0026datadog.SensitiveDataScannerGroupArgs{\n\t\t\tName: pulumi.String(\"My new scanning group\"),\n\t\t\tDescription: pulumi.String(\"A relevant description\"),\n\t\t\tFilter: \u0026datadog.SensitiveDataScannerGroupFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"service:my-service\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tProductLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"apm\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSensitiveDataScannerRule(ctx, \"myrule\", \u0026datadog.SensitiveDataScannerRuleArgs{\n\t\t\tName: pulumi.String(\"My new rule\"),\n\t\t\tDescription: pulumi.String(\"Another description\"),\n\t\t\tGroupId: mygroup.ID(),\n\t\t\tExcludedNamespaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tPattern: pulumi.String(\"myregex\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sensitive_data:true\"),\n\t\t\t},\n\t\t\tTextReplacement: \u0026datadog.SensitiveDataScannerRuleTextReplacementArgs{\n\t\t\t\tNumberOfChars: pulumi.Int(0),\n\t\t\t\tReplacementString: pulumi.String(\"\"),\n\t\t\t\tType: pulumi.String(\"hash\"),\n\t\t\t},\n\t\t\tIncludedKeywordConfiguration: \u0026datadog.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs{\n\t\t\t\tKeywords: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cc\"),\n\t\t\t\t\tpulumi.String(\"credit card\"),\n\t\t\t\t},\n\t\t\t\tCharacterCount: pulumi.Int(30),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsSp, err := datadog.GetSensitiveDataScannerStandardPattern(ctx, \u0026datadog.GetSensitiveDataScannerStandardPatternArgs{\n\t\t\tFilter: \"AWS Access Key ID Scanner\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSensitiveDataScannerRule(ctx, \"mylibraryrule\", \u0026datadog.SensitiveDataScannerRuleArgs{\n\t\t\tName: pulumi.String(\"My library rule\"),\n\t\t\tDescription: pulumi.String(\"A description\"),\n\t\t\tGroupId: mygroup.ID(),\n\t\t\tStandardPatternId: *pulumi.String(awsSp.Id),\n\t\t\tExcludedNamespaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sensitive_data:true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SensitiveDataScannerGroup;\nimport com.pulumi.datadog.SensitiveDataScannerGroupArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerGroupFilterArgs;\nimport com.pulumi.datadog.SensitiveDataScannerRule;\nimport com.pulumi.datadog.SensitiveDataScannerRuleArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerRuleTextReplacementArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerRuleIncludedKeywordConfigurationArgs;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetSensitiveDataScannerStandardPatternArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mygroup = new SensitiveDataScannerGroup(\"mygroup\", SensitiveDataScannerGroupArgs.builder() \n .name(\"My new scanning group\")\n .description(\"A relevant description\")\n .filter(SensitiveDataScannerGroupFilterArgs.builder()\n .query(\"service:my-service\")\n .build())\n .isEnabled(true)\n .productLists(\"apm\")\n .build());\n\n var myrule = new SensitiveDataScannerRule(\"myrule\", SensitiveDataScannerRuleArgs.builder() \n .name(\"My new rule\")\n .description(\"Another description\")\n .groupId(mygroup.id())\n .excludedNamespaces(\"username\")\n .isEnabled(true)\n .pattern(\"myregex\")\n .tags(\"sensitive_data:true\")\n .textReplacement(SensitiveDataScannerRuleTextReplacementArgs.builder()\n .numberOfChars(0)\n .replacementString(\"\")\n .type(\"hash\")\n .build())\n .includedKeywordConfiguration(SensitiveDataScannerRuleIncludedKeywordConfigurationArgs.builder()\n .keywords( \n \"cc\",\n \"credit card\")\n .characterCount(30)\n .build())\n .build());\n\n final var awsSp = DatadogFunctions.getSensitiveDataScannerStandardPattern(GetSensitiveDataScannerStandardPatternArgs.builder()\n .filter(\"AWS Access Key ID Scanner\")\n .build());\n\n var mylibraryrule = new SensitiveDataScannerRule(\"mylibraryrule\", SensitiveDataScannerRuleArgs.builder() \n .name(\"My library rule\")\n .description(\"A description\")\n .groupId(mygroup.id())\n .standardPatternId(awsSp.applyValue(getSensitiveDataScannerStandardPatternResult -\u003e getSensitiveDataScannerStandardPatternResult.id()))\n .excludedNamespaces(\"username\")\n .isEnabled(true)\n .tags(\"sensitive_data:true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group\n mygroup:\n type: datadog:SensitiveDataScannerGroup\n properties:\n name: My new scanning group\n description: A relevant description\n filter:\n query: service:my-service\n isEnabled: true\n productLists:\n - apm\n myrule:\n type: datadog:SensitiveDataScannerRule\n properties:\n name: My new rule\n description: Another description\n groupId: ${mygroup.id}\n excludedNamespaces:\n - username\n isEnabled: true\n pattern: myregex\n tags:\n - sensitive_data:true\n textReplacement:\n numberOfChars: 0\n replacementString:\n type: hash\n includedKeywordConfiguration:\n keywords:\n - cc\n - credit card\n characterCount: 30\n mylibraryrule:\n type: datadog:SensitiveDataScannerRule\n properties:\n name: My library rule\n description: A description\n groupId: ${mygroup.id}\n # As standard_pattern_id is provided, the resource MUST NOT contain the \"pattern\" attribute\n standardPatternId: ${awsSp.id}\n excludedNamespaces:\n - username\n isEnabled: true\n tags:\n - sensitive_data:true\nvariables:\n awsSp:\n fn::invoke:\n Function: datadog:getSensitiveDataScannerStandardPattern\n Arguments:\n filter: AWS Access Key ID Scanner\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/sensitiveDataScannerRule:SensitiveDataScannerRule new_list \"\"\n```\n\n ", "properties": { "description": { "type": "string", @@ -77469,7 +77469,7 @@ } }, "datadog:index/serviceAccount:ServiceAccount": { - "description": "Provides a Datadog service account resource. This can be used to create and manage Datadog service accounts.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog service account\nconst bar = new datadog.ServiceAccount(\"bar\", {\n email: \"new@example.com\",\n name: \"Service Account Bar\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog service account\nbar = datadog.ServiceAccount(\"bar\",\n email=\"new@example.com\",\n name=\"Service Account Bar\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog service account\n var bar = new Datadog.ServiceAccount(\"bar\", new()\n {\n Email = \"new@example.com\",\n Name = \"Service Account Bar\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewServiceAccount(ctx, \"bar\", \u0026datadog.ServiceAccountArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tName: pulumi.String(\"Service Account Bar\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t*pulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.ServiceAccount;\nimport com.pulumi.datadog.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n var bar = new ServiceAccount(\"bar\", ServiceAccountArgs.builder() \n .email(\"new@example.com\")\n .name(\"Service Account Bar\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog service account\n bar:\n type: datadog:ServiceAccount\n properties:\n email: new@example.com\n name: Service Account Bar\n roles:\n - ${roRole.id}\nvariables:\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/serviceAccount:ServiceAccount example_sa 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n ", + "description": "Provides a Datadog service account resource. This can be used to create and manage Datadog service accounts.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog service account\nconst bar = new datadog.ServiceAccount(\"bar\", {\n email: \"new@example.com\",\n name: \"Service Account Bar\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog service account\nbar = datadog.ServiceAccount(\"bar\",\n email=\"new@example.com\",\n name=\"Service Account Bar\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog service account\n var bar = new Datadog.ServiceAccount(\"bar\", new()\n {\n Email = \"new@example.com\",\n Name = \"Service Account Bar\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog service account\n\t\t_, err = datadog.NewServiceAccount(ctx, \"bar\", \u0026datadog.ServiceAccountArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tName: pulumi.String(\"Service Account Bar\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t*pulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.ServiceAccount;\nimport com.pulumi.datadog.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n var bar = new ServiceAccount(\"bar\", ServiceAccountArgs.builder() \n .email(\"new@example.com\")\n .name(\"Service Account Bar\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog service account\n bar:\n type: datadog:ServiceAccount\n properties:\n email: new@example.com\n name: Service Account Bar\n roles:\n - ${roRole.id}\nvariables:\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/serviceAccount:ServiceAccount example_sa 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n ", "properties": { "disabled": { "type": "boolean", @@ -77545,7 +77545,7 @@ } }, "datadog:index/serviceAccountApplicationKey:ServiceAccountApplicationKey": { - "description": "Provides a Datadog `service_account_application_key` resource. This can be used to create and manage Datadog service account application keys.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create new service_account_application_key resource\nconst foo = new datadog.ServiceAccountApplicationKey(\"foo\", {\n name: \"Application key for managing dashboards\",\n serviceAccountId: \"00000000-0000-1234-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new service_account_application_key resource\nfoo = datadog.ServiceAccountApplicationKey(\"foo\",\n name=\"Application key for managing dashboards\",\n service_account_id=\"00000000-0000-1234-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new service_account_application_key resource\n var foo = new Datadog.ServiceAccountApplicationKey(\"foo\", new()\n {\n Name = \"Application key for managing dashboards\",\n ServiceAccountId = \"00000000-0000-1234-0000-000000000000\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewServiceAccountApplicationKey(ctx, \"foo\", \u0026datadog.ServiceAccountApplicationKeyArgs{\n\t\t\tName: pulumi.String(\"Application key for managing dashboards\"),\n\t\t\tServiceAccountId: pulumi.String(\"00000000-0000-1234-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceAccountApplicationKey;\nimport com.pulumi.datadog.ServiceAccountApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ServiceAccountApplicationKey(\"foo\", ServiceAccountApplicationKeyArgs.builder() \n .name(\"Application key for managing dashboards\")\n .serviceAccountId(\"00000000-0000-1234-0000-000000000000\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new service_account_application_key resource\n foo:\n type: datadog:ServiceAccountApplicationKey\n properties:\n name: Application key for managing dashboards\n serviceAccountId: 00000000-0000-1234-0000-000000000000\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nImporting a service account's application key cannot import the value of the key.\n\n ```sh\n $ pulumi import datadog:index/serviceAccountApplicationKey:ServiceAccountApplicationKey this \"\u003cservice_account_id\u003e:\u003capplication_key_id\u003e\"\n```\n\n ", + "description": "Provides a Datadog `service_account_application_key` resource. This can be used to create and manage Datadog service account application keys.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create new service_account_application_key resource\nconst foo = new datadog.ServiceAccountApplicationKey(\"foo\", {\n name: \"Application key for managing dashboards\",\n serviceAccountId: \"00000000-0000-1234-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new service_account_application_key resource\nfoo = datadog.ServiceAccountApplicationKey(\"foo\",\n name=\"Application key for managing dashboards\",\n service_account_id=\"00000000-0000-1234-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new service_account_application_key resource\n var foo = new Datadog.ServiceAccountApplicationKey(\"foo\", new()\n {\n Name = \"Application key for managing dashboards\",\n ServiceAccountId = \"00000000-0000-1234-0000-000000000000\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new service_account_application_key resource\n\t\t_, err := datadog.NewServiceAccountApplicationKey(ctx, \"foo\", \u0026datadog.ServiceAccountApplicationKeyArgs{\n\t\t\tName: pulumi.String(\"Application key for managing dashboards\"),\n\t\t\tServiceAccountId: pulumi.String(\"00000000-0000-1234-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceAccountApplicationKey;\nimport com.pulumi.datadog.ServiceAccountApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ServiceAccountApplicationKey(\"foo\", ServiceAccountApplicationKeyArgs.builder() \n .name(\"Application key for managing dashboards\")\n .serviceAccountId(\"00000000-0000-1234-0000-000000000000\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new service_account_application_key resource\n foo:\n type: datadog:ServiceAccountApplicationKey\n properties:\n name: Application key for managing dashboards\n serviceAccountId: 00000000-0000-1234-0000-000000000000\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nImporting a service account's application key cannot import the value of the key.\n\n ```sh\n $ pulumi import datadog:index/serviceAccountApplicationKey:ServiceAccountApplicationKey this \"\u003cservice_account_id\u003e:\u003capplication_key_id\u003e\"\n```\n\n ", "properties": { "createdAt": { "type": "string", @@ -77619,7 +77619,7 @@ } }, "datadog:index/serviceDefinitionYaml:ServiceDefinitionYaml": { - "description": "Provides a Datadog service definition resource. This can be used to create and manage Datadog service definitions in the service catalog using the YAML/JSON definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Service Definition with v2.2 Schema Definition\nconst serviceDefinitionV22 = new datadog.ServiceDefinitionYaml(\"serviceDefinitionV22\", {serviceDefinition: `schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`});\n// Service Definition with v2.1 Schema Definition\nconst serviceDefinitionV21 = new datadog.ServiceDefinitionYaml(\"serviceDefinitionV21\", {serviceDefinition: `schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`});\n// Service Definition with v2 Schema Definition\nconst serviceDefinitionV2 = new datadog.ServiceDefinitionYaml(\"serviceDefinitionV2\", {serviceDefinition: `schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n`});\n// Service Definition with backstage.io Schema\nconst serviceDefinitionBackstage = new datadog.ServiceDefinitionYaml(\"serviceDefinitionBackstage\", {serviceDefinition: `apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Service Definition with v2.2 Schema Definition\nservice_definition_v22 = datadog.ServiceDefinitionYaml(\"serviceDefinitionV22\", service_definition=\"\"\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\"\"\")\n# Service Definition with v2.1 Schema Definition\nservice_definition_v21 = datadog.ServiceDefinitionYaml(\"serviceDefinitionV21\", service_definition=\"\"\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\"\"\")\n# Service Definition with v2 Schema Definition\nservice_definition_v2 = datadog.ServiceDefinitionYaml(\"serviceDefinitionV2\", service_definition=\"\"\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n\"\"\")\n# Service Definition with backstage.io Schema\nservice_definition_backstage = datadog.ServiceDefinitionYaml(\"serviceDefinitionBackstage\", service_definition=\"\"\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Service Definition with v2.2 Schema Definition\n var serviceDefinitionV22 = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionV22\", new()\n {\n ServiceDefinition = @\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\",\n });\n\n // Service Definition with v2.1 Schema Definition\n var serviceDefinitionV21 = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionV21\", new()\n {\n ServiceDefinition = @\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\",\n });\n\n // Service Definition with v2 Schema Definition\n var serviceDefinitionV2 = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionV2\", new()\n {\n ServiceDefinition = @\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n\",\n });\n\n // Service Definition with backstage.io Schema\n var serviceDefinitionBackstage = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionBackstage\", new()\n {\n ServiceDefinition = @\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"\"taga:valuea\"\", \"\"tagb:valueb\"\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"\"value\"\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionV22\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionV21\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionV2\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionBackstage\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceDefinitionYaml;\nimport com.pulumi.datadog.ServiceDefinitionYamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var serviceDefinitionV22 = new ServiceDefinitionYaml(\"serviceDefinitionV22\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n \"\"\")\n .build());\n\n var serviceDefinitionV21 = new ServiceDefinitionYaml(\"serviceDefinitionV21\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n \"\"\")\n .build());\n\n var serviceDefinitionV2 = new ServiceDefinitionYaml(\"serviceDefinitionV2\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n \"\"\")\n .build());\n\n var serviceDefinitionBackstage = new ServiceDefinitionYaml(\"serviceDefinitionBackstage\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\napiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Service Definition with v2.2 Schema Definition\n serviceDefinitionV22:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: \"schema-version: v2.2\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlanguages: \\n - go\\n - python\\ntype: web \\nci-pipeline-fingerprints:\\n - fp1 \\n - fp2 \\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\\n\"\n # Service Definition with v2.1 Schema Definition\n serviceDefinitionV21:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: \"schema-version: v2.1\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\\n\"\n # Service Definition with v2 Schema Definition\n serviceDefinitionV2:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: |+\n schema-version: v2\n dd-service: shopping-cart\n team: E Commerce\n contacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\n repos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\n docs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\n links:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n tags:\n - business-unit:retail\n - cost-center:engineering\n integrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\n extensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n # Service Definition with backstage.io Schema\n serviceDefinitionBackstage:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: |+\n apiVersion: backstage.io/v1alpha1\n kind: Component\n metadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\n spec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/serviceDefinitionYaml:ServiceDefinitionYaml service_definition \"\u003cdd-service\u003e\"\n```\n\n ", + "description": "Provides a Datadog service definition resource. This can be used to create and manage Datadog service definitions in the service catalog using the YAML/JSON definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Service Definition with v2.2 Schema Definition\nconst serviceDefinitionV22 = new datadog.ServiceDefinitionYaml(\"serviceDefinitionV22\", {serviceDefinition: `schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`});\n// Service Definition with v2.1 Schema Definition\nconst serviceDefinitionV21 = new datadog.ServiceDefinitionYaml(\"serviceDefinitionV21\", {serviceDefinition: `schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`});\n// Service Definition with v2 Schema Definition\nconst serviceDefinitionV2 = new datadog.ServiceDefinitionYaml(\"serviceDefinitionV2\", {serviceDefinition: `schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n`});\n// Service Definition with backstage.io Schema\nconst serviceDefinitionBackstage = new datadog.ServiceDefinitionYaml(\"serviceDefinitionBackstage\", {serviceDefinition: `apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Service Definition with v2.2 Schema Definition\nservice_definition_v22 = datadog.ServiceDefinitionYaml(\"serviceDefinitionV22\", service_definition=\"\"\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\"\"\")\n# Service Definition with v2.1 Schema Definition\nservice_definition_v21 = datadog.ServiceDefinitionYaml(\"serviceDefinitionV21\", service_definition=\"\"\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\"\"\")\n# Service Definition with v2 Schema Definition\nservice_definition_v2 = datadog.ServiceDefinitionYaml(\"serviceDefinitionV2\", service_definition=\"\"\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n\"\"\")\n# Service Definition with backstage.io Schema\nservice_definition_backstage = datadog.ServiceDefinitionYaml(\"serviceDefinitionBackstage\", service_definition=\"\"\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Service Definition with v2.2 Schema Definition\n var serviceDefinitionV22 = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionV22\", new()\n {\n ServiceDefinition = @\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\",\n });\n\n // Service Definition with v2.1 Schema Definition\n var serviceDefinitionV21 = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionV21\", new()\n {\n ServiceDefinition = @\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n\",\n });\n\n // Service Definition with v2 Schema Definition\n var serviceDefinitionV2 = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionV2\", new()\n {\n ServiceDefinition = @\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n\",\n });\n\n // Service Definition with backstage.io Schema\n var serviceDefinitionBackstage = new Datadog.ServiceDefinitionYaml(\"serviceDefinitionBackstage\", new()\n {\n ServiceDefinition = @\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"\"taga:valuea\"\", \"\"tagb:valueb\"\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"\"value\"\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Service Definition with v2.2 Schema Definition\n\t\t_, err := datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionV22\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with v2.1 Schema Definition\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionV21\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with v2 Schema Definition\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionV2\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with backstage.io Schema\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"serviceDefinitionBackstage\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceDefinitionYaml;\nimport com.pulumi.datadog.ServiceDefinitionYamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var serviceDefinitionV22 = new ServiceDefinitionYaml(\"serviceDefinitionV22\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n \"\"\")\n .build());\n\n var serviceDefinitionV21 = new ServiceDefinitionYaml(\"serviceDefinitionV21\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\n \"\"\")\n .build());\n\n var serviceDefinitionV2 = new ServiceDefinitionYaml(\"serviceDefinitionV2\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n \"\"\")\n .build());\n\n var serviceDefinitionBackstage = new ServiceDefinitionYaml(\"serviceDefinitionBackstage\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\napiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Service Definition with v2.2 Schema Definition\n serviceDefinitionV22:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: \"schema-version: v2.2\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlanguages: \\n - go\\n - python\\ntype: web \\nci-pipeline-fingerprints:\\n - fp1 \\n - fp2 \\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\\n\"\n # Service Definition with v2.1 Schema Definition\n serviceDefinitionV21:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: \"schema-version: v2.1\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\\n\"\n # Service Definition with v2 Schema Definition\n serviceDefinitionV2:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: |+\n schema-version: v2\n dd-service: shopping-cart\n team: E Commerce\n contacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\n repos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\n docs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\n links:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n tags:\n - business-unit:retail\n - cost-center:engineering\n integrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\n extensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\n # Service Definition with backstage.io Schema\n serviceDefinitionBackstage:\n type: datadog:ServiceDefinitionYaml\n properties:\n serviceDefinition: |+\n apiVersion: backstage.io/v1alpha1\n kind: Component\n metadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\n spec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/serviceDefinitionYaml:ServiceDefinitionYaml service_definition \"\u003cdd-service\u003e\"\n```\n\n ", "properties": { "serviceDefinition": { "type": "string", @@ -77882,7 +77882,7 @@ } }, "datadog:index/sloCorrection:SloCorrection": { - "description": "Resource for interacting with the slo_correction API.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nconst exampleSlo = new datadog.ServiceLevelObjective(\"exampleSlo\", {\n name: \"example slo\",\n type: \"metric\",\n description: \"some updated description about example_slo SLO\",\n query: {\n numerator: \"sum:my.metric{type:good}.as_count()\",\n denominator: \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n thresholds: [{\n timeframe: \"7d\",\n target: 99.5,\n warning: 99.8,\n }],\n tags: [\"foo:bar\"],\n});\nconst exampleSloCorrection = new datadog.SloCorrection(\"exampleSloCorrection\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example\",\n start: 1735707000,\n end: 1735718600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\nconst exampleSloCorrectionWithRecurrence = new datadog.SloCorrection(\"exampleSloCorrectionWithRecurrence\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example with recurrence\",\n start: 1735707000,\n rrule: \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration: 3600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nexample_slo = datadog.ServiceLevelObjective(\"exampleSlo\",\n name=\"example slo\",\n type=\"metric\",\n description=\"some updated description about example_slo SLO\",\n query=datadog.ServiceLevelObjectiveQueryArgs(\n numerator=\"sum:my.metric{type:good}.as_count()\",\n denominator=\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n ),\n thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.5,\n warning=99.8,\n )],\n tags=[\"foo:bar\"])\nexample_slo_correction = datadog.SloCorrection(\"exampleSloCorrection\",\n category=\"Scheduled Maintenance\",\n description=\"correction example\",\n start=1735707000,\n end=1735718600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\nexample_slo_correction_with_recurrence = datadog.SloCorrection(\"exampleSloCorrectionWithRecurrence\",\n category=\"Scheduled Maintenance\",\n description=\"correction example with recurrence\",\n start=1735707000,\n rrule=\"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration=3600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n var exampleSlo = new Datadog.ServiceLevelObjective(\"exampleSlo\", new()\n {\n Name = \"example slo\",\n Type = \"metric\",\n Description = \"some updated description about example_slo SLO\",\n Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs\n {\n Numerator = \"sum:my.metric{type:good}.as_count()\",\n Denominator = \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.5,\n Warning = 99.8,\n },\n },\n Tags = new[]\n {\n \"foo:bar\",\n },\n });\n\n var exampleSloCorrection = new Datadog.SloCorrection(\"exampleSloCorrection\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example\",\n Start = 1735707000,\n End = 1735718600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n var exampleSloCorrectionWithRecurrence = new Datadog.SloCorrection(\"exampleSloCorrectionWithRecurrence\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example with recurrence\",\n Start = 1735707000,\n Rrule = \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n Duration = 3600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSlo, err := datadog.NewServiceLevelObjective(ctx, \"exampleSlo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"example slo\"),\n\t\t\tType: pulumi.String(\"metric\"),\n\t\t\tDescription: pulumi.String(\"some updated description about example_slo SLO\"),\n\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveQueryArgs{\n\t\t\t\tNumerator: pulumi.String(\"sum:my.metric{type:good}.as_count()\"),\n\t\t\t\tDenominator: pulumi.String(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\"),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.5),\n\t\t\t\t\tWarning: pulumi.Float64(99.8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"exampleSloCorrection\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tEnd: pulumi.Int(1735718600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"exampleSloCorrectionWithRecurrence\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example with recurrence\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tRrule: pulumi.String(\"FREQ=DAILY;INTERVAL=3;COUNT=3\"),\n\t\t\tDuration: pulumi.Int(3600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceLevelObjective;\nimport com.pulumi.datadog.ServiceLevelObjectiveArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;\nimport com.pulumi.datadog.SloCorrection;\nimport com.pulumi.datadog.SloCorrectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSlo = new ServiceLevelObjective(\"exampleSlo\", ServiceLevelObjectiveArgs.builder() \n .name(\"example slo\")\n .type(\"metric\")\n .description(\"some updated description about example_slo SLO\")\n .query(ServiceLevelObjectiveQueryArgs.builder()\n .numerator(\"sum:my.metric{type:good}.as_count()\")\n .denominator(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\")\n .build())\n .thresholds(ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.5)\n .warning(99.8)\n .build())\n .tags(\"foo:bar\")\n .build());\n\n var exampleSloCorrection = new SloCorrection(\"exampleSloCorrection\", SloCorrectionArgs.builder() \n .category(\"Scheduled Maintenance\")\n .description(\"correction example\")\n .start(1735707000)\n .end(1735718600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n var exampleSloCorrectionWithRecurrence = new SloCorrection(\"exampleSloCorrectionWithRecurrence\", SloCorrectionArgs.builder() \n .category(\"Scheduled Maintenance\")\n .description(\"correction example with recurrence\")\n .start(1735707000)\n .rrule(\"FREQ=DAILY;INTERVAL=3;COUNT=3\")\n .duration(3600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n exampleSlo:\n type: datadog:ServiceLevelObjective\n properties:\n name: example slo\n type: metric\n description: some updated description about example_slo SLO\n query:\n numerator: sum:my.metric{type:good}.as_count()\n denominator: sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\n thresholds:\n - timeframe: 7d\n target: 99.5\n warning: 99.8\n tags:\n - foo:bar\n exampleSloCorrection:\n type: datadog:SloCorrection\n properties:\n category: Scheduled Maintenance\n description: correction example\n start: 1.735707e+09\n end: 1.7357186e+09\n sloId: ${exampleSlo.id}\n timezone: UTC\n exampleSloCorrectionWithRecurrence:\n type: datadog:SloCorrection\n properties:\n category: Scheduled Maintenance\n description: correction example with recurrence\n start: 1.735707e+09\n rrule: FREQ=DAILY;INTERVAL=3;COUNT=3\n duration: 3600\n sloId: ${exampleSlo.id}\n timezone: UTC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/sloCorrection:SloCorrection testing_slo_correction 11111111-3fee-11eb-8a13-77cd9f15119e\n```\n\n ", + "description": "Resource for interacting with the slo_correction API.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nconst exampleSlo = new datadog.ServiceLevelObjective(\"exampleSlo\", {\n name: \"example slo\",\n type: \"metric\",\n description: \"some updated description about example_slo SLO\",\n query: {\n numerator: \"sum:my.metric{type:good}.as_count()\",\n denominator: \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n thresholds: [{\n timeframe: \"7d\",\n target: 99.5,\n warning: 99.8,\n }],\n tags: [\"foo:bar\"],\n});\nconst exampleSloCorrection = new datadog.SloCorrection(\"exampleSloCorrection\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example\",\n start: 1735707000,\n end: 1735718600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\nconst exampleSloCorrectionWithRecurrence = new datadog.SloCorrection(\"exampleSloCorrectionWithRecurrence\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example with recurrence\",\n start: 1735707000,\n rrule: \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration: 3600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nexample_slo = datadog.ServiceLevelObjective(\"exampleSlo\",\n name=\"example slo\",\n type=\"metric\",\n description=\"some updated description about example_slo SLO\",\n query=datadog.ServiceLevelObjectiveQueryArgs(\n numerator=\"sum:my.metric{type:good}.as_count()\",\n denominator=\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n ),\n thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.5,\n warning=99.8,\n )],\n tags=[\"foo:bar\"])\nexample_slo_correction = datadog.SloCorrection(\"exampleSloCorrection\",\n category=\"Scheduled Maintenance\",\n description=\"correction example\",\n start=1735707000,\n end=1735718600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\nexample_slo_correction_with_recurrence = datadog.SloCorrection(\"exampleSloCorrectionWithRecurrence\",\n category=\"Scheduled Maintenance\",\n description=\"correction example with recurrence\",\n start=1735707000,\n rrule=\"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration=3600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n var exampleSlo = new Datadog.ServiceLevelObjective(\"exampleSlo\", new()\n {\n Name = \"example slo\",\n Type = \"metric\",\n Description = \"some updated description about example_slo SLO\",\n Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs\n {\n Numerator = \"sum:my.metric{type:good}.as_count()\",\n Denominator = \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.5,\n Warning = 99.8,\n },\n },\n Tags = new[]\n {\n \"foo:bar\",\n },\n });\n\n var exampleSloCorrection = new Datadog.SloCorrection(\"exampleSloCorrection\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example\",\n Start = 1735707000,\n End = 1735718600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n var exampleSloCorrectionWithRecurrence = new Datadog.SloCorrection(\"exampleSloCorrectionWithRecurrence\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example with recurrence\",\n Start = 1735707000,\n Rrule = \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n Duration = 3600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n\t\texampleSlo, err := datadog.NewServiceLevelObjective(ctx, \"exampleSlo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"example slo\"),\n\t\t\tType: pulumi.String(\"metric\"),\n\t\t\tDescription: pulumi.String(\"some updated description about example_slo SLO\"),\n\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveQueryArgs{\n\t\t\t\tNumerator: pulumi.String(\"sum:my.metric{type:good}.as_count()\"),\n\t\t\t\tDenominator: pulumi.String(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\"),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.5),\n\t\t\t\t\tWarning: pulumi.Float64(99.8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"exampleSloCorrection\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tEnd: pulumi.Int(1735718600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"exampleSloCorrectionWithRecurrence\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example with recurrence\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tRrule: pulumi.String(\"FREQ=DAILY;INTERVAL=3;COUNT=3\"),\n\t\t\tDuration: pulumi.Int(3600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceLevelObjective;\nimport com.pulumi.datadog.ServiceLevelObjectiveArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;\nimport com.pulumi.datadog.SloCorrection;\nimport com.pulumi.datadog.SloCorrectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleSlo = new ServiceLevelObjective(\"exampleSlo\", ServiceLevelObjectiveArgs.builder() \n .name(\"example slo\")\n .type(\"metric\")\n .description(\"some updated description about example_slo SLO\")\n .query(ServiceLevelObjectiveQueryArgs.builder()\n .numerator(\"sum:my.metric{type:good}.as_count()\")\n .denominator(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\")\n .build())\n .thresholds(ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.5)\n .warning(99.8)\n .build())\n .tags(\"foo:bar\")\n .build());\n\n var exampleSloCorrection = new SloCorrection(\"exampleSloCorrection\", SloCorrectionArgs.builder() \n .category(\"Scheduled Maintenance\")\n .description(\"correction example\")\n .start(1735707000)\n .end(1735718600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n var exampleSloCorrectionWithRecurrence = new SloCorrection(\"exampleSloCorrectionWithRecurrence\", SloCorrectionArgs.builder() \n .category(\"Scheduled Maintenance\")\n .description(\"correction example with recurrence\")\n .start(1735707000)\n .rrule(\"FREQ=DAILY;INTERVAL=3;COUNT=3\")\n .duration(3600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n exampleSlo:\n type: datadog:ServiceLevelObjective\n properties:\n name: example slo\n type: metric\n description: some updated description about example_slo SLO\n query:\n numerator: sum:my.metric{type:good}.as_count()\n denominator: sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\n thresholds:\n - timeframe: 7d\n target: 99.5\n warning: 99.8\n tags:\n - foo:bar\n exampleSloCorrection:\n type: datadog:SloCorrection\n properties:\n category: Scheduled Maintenance\n description: correction example\n start: 1.735707e+09\n end: 1.7357186e+09\n sloId: ${exampleSlo.id}\n timezone: UTC\n exampleSloCorrectionWithRecurrence:\n type: datadog:SloCorrection\n properties:\n category: Scheduled Maintenance\n description: correction example with recurrence\n start: 1.735707e+09\n rrule: FREQ=DAILY;INTERVAL=3;COUNT=3\n duration: 3600\n sloId: ${exampleSlo.id}\n timezone: UTC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/sloCorrection:SloCorrection testing_slo_correction 11111111-3fee-11eb-8a13-77cd9f15119e\n```\n\n ", "properties": { "category": { "type": "string", @@ -78068,7 +78068,7 @@ } }, "datadog:index/syntheticsConcurrencyCap:SyntheticsConcurrencyCap": { - "description": "Provides a Datadog Synthetics On Demand Concurrency Cap API resource. This can be used to manage the Concurrency Cap for Synthetic tests.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example Usage (Synthetics Concurrency Cap Configuration)\nconst _this = new datadog.SyntheticsConcurrencyCap(\"this\", {onDemandConcurrencyCap: 1});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics Concurrency Cap Configuration)\nthis = datadog.SyntheticsConcurrencyCap(\"this\", on_demand_concurrency_cap=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics Concurrency Cap Configuration)\n var @this = new Datadog.SyntheticsConcurrencyCap(\"this\", new()\n {\n OnDemandConcurrencyCap = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSyntheticsConcurrencyCap(ctx, \"this\", \u0026datadog.SyntheticsConcurrencyCapArgs{\n\t\t\tOnDemandConcurrencyCap: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsConcurrencyCap;\nimport com.pulumi.datadog.SyntheticsConcurrencyCapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new SyntheticsConcurrencyCap(\"this\", SyntheticsConcurrencyCapArgs.builder() \n .onDemandConcurrencyCap(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics Concurrency Cap Configuration)\n this:\n type: datadog:SyntheticsConcurrencyCap\n properties:\n onDemandConcurrencyCap: 1\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThe Synthetics concurrency cap can be imported. \u003cname\u003e can be whatever you specify in your code. Datadog does not store the name on the server.\n\n ```sh\n $ pulumi import datadog:index/syntheticsConcurrencyCap:SyntheticsConcurrencyCap this \u003cname\u003e\n```\n\n ", + "description": "Provides a Datadog Synthetics On Demand Concurrency Cap API resource. This can be used to manage the Concurrency Cap for Synthetic tests.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example Usage (Synthetics Concurrency Cap Configuration)\nconst _this = new datadog.SyntheticsConcurrencyCap(\"this\", {onDemandConcurrencyCap: 1});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics Concurrency Cap Configuration)\nthis = datadog.SyntheticsConcurrencyCap(\"this\", on_demand_concurrency_cap=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics Concurrency Cap Configuration)\n var @this = new Datadog.SyntheticsConcurrencyCap(\"this\", new()\n {\n OnDemandConcurrencyCap = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Usage (Synthetics Concurrency Cap Configuration)\n\t\t_, err := datadog.NewSyntheticsConcurrencyCap(ctx, \"this\", \u0026datadog.SyntheticsConcurrencyCapArgs{\n\t\t\tOnDemandConcurrencyCap: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsConcurrencyCap;\nimport com.pulumi.datadog.SyntheticsConcurrencyCapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new SyntheticsConcurrencyCap(\"this\", SyntheticsConcurrencyCapArgs.builder() \n .onDemandConcurrencyCap(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics Concurrency Cap Configuration)\n this:\n type: datadog:SyntheticsConcurrencyCap\n properties:\n onDemandConcurrencyCap: 1\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThe Synthetics concurrency cap can be imported. \u003cname\u003e can be whatever you specify in your code. Datadog does not store the name on the server.\n\n ```sh\n $ pulumi import datadog:index/syntheticsConcurrencyCap:SyntheticsConcurrencyCap this \u003cname\u003e\n```\n\n ", "properties": { "onDemandConcurrencyCap": { "type": "integer", @@ -78336,7 +78336,7 @@ } }, "datadog:index/syntheticsTest:SyntheticsTest": { - "description": "Provides a Datadog synthetics test resource. This can be used to create and manage Datadog synthetics test.\n\n#### *Warning*\nStarting from version 3.1.0+, the direct usage of global variables in the configuration is deprecated, in favor of\nlocal variables of type `global`. As an example, if you were previously using `{{ GLOBAL_VAR }}` directly in your\nconfiguration, add a `config_variable` of type `global` with the `id` matching the `id` of the global variable `GLOBAL_VAR`, which can be found in the Synthetics UI or from the output of the `datadog.SyntheticsGlobalVariable` resource. The name can be chosen freely. \n\nIn practice, it means going from (simplified configuration):\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\nto\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\nwhich you can now use in your request definition:\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example Usage (Synthetics API test)\n// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\nconst testUptime = new datadog.SyntheticsTest(\"testUptime\", {\n name: \"An Uptime test on example.org\",\n type: \"api\",\n subtype: \"http\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n method: \"GET\",\n url: \"https://www.example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n },\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n optionsList: {\n tickEvery: 900,\n retry: {\n count: 2,\n interval: 300,\n },\n monitorOptions: {\n renotifyInterval: 120,\n },\n },\n});\n// Example Usage (Authenticated API test)\n// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\nconst testApi = new datadog.SyntheticsTest(\"testApi\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"http\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n method: \"GET\",\n url: \"https://www.example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n Authentication: \"Token: 1234566789\",\n },\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n optionsList: {\n tickEvery: 900,\n retry: {\n count: 2,\n interval: 300,\n },\n monitorOptions: {\n renotifyInterval: 120,\n },\n },\n});\n// Example Usage (Synthetics SSL test)\n// Create a new Datadog Synthetics API/SSL test on example.org\nconst testSsl = new datadog.SyntheticsTest(\"testSsl\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"ssl\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n },\n assertions: [{\n type: \"certificate\",\n operator: \"isInMoreThan\",\n target: \"30\",\n }],\n optionsList: {\n tickEvery: 900,\n acceptSelfSigned: true,\n },\n});\n// Example Usage (Synthetics TCP test)\n// Create a new Datadog Synthetics API/TCP test on example.org\nconst testTcp = new datadog.SyntheticsTest(\"testTcp\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"tcp\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n },\n assertions: [{\n type: \"responseTime\",\n operator: \"lessThan\",\n target: \"2000\",\n }],\n configVariables: [{\n type: \"global\",\n name: \"MY_GLOBAL_VAR\",\n id: \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n }],\n optionsList: {\n tickEvery: 900,\n },\n});\n// Example Usage (Synthetics DNS test)\n// Create a new Datadog Synthetics API/DNS test on example.org\nconst testDns = new datadog.SyntheticsTest(\"testDns\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"dns\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n host: \"example.org\",\n },\n assertions: [{\n type: \"recordSome\",\n operator: \"is\",\n property: \"A\",\n target: \"0.0.0.0\",\n }],\n optionsList: {\n tickEvery: 900,\n },\n});\n// Example Usage (Synthetics Multistep API test)\n// Create a new Datadog Synthetics Multistep API test\nconst testMultiStep = new datadog.SyntheticsTest(\"testMultiStep\", {\n name: \"Multistep API test\",\n type: \"api\",\n subtype: \"multi\",\n status: \"live\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n apiSteps: [\n {\n name: \"An API test on example.org\",\n subtype: \"http\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n method: \"GET\",\n url: \"https://example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n Authentication: \"Token: 1234566789\",\n },\n },\n {\n name: \"An API test on example.org\",\n subtype: \"http\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n method: \"GET\",\n url: \"http://example.org\",\n },\n },\n ],\n optionsList: {\n tickEvery: 900,\n acceptSelfSigned: true,\n },\n});\n// Example Usage (Synthetics Browser test)\n// Create a new Datadog Synthetics Browser test starting on https://www.example.org\nconst testBrowser = new datadog.SyntheticsTest(\"testBrowser\", {\n name: \"A Browser test on example.org\",\n type: \"browser\",\n status: \"paused\",\n message: \"Notify @qa\",\n deviceIds: [\"laptop_large\"],\n locations: [\"aws:eu-central-1\"],\n tags: [],\n requestDefinition: {\n method: \"GET\",\n url: \"https://app.datadoghq.com\",\n },\n browserSteps: [\n {\n name: \"Check current url\",\n type: \"assertCurrentUrl\",\n params: {\n check: \"contains\",\n value: \"datadoghq\",\n },\n },\n {\n name: \"Test a downloaded file\",\n type: \"assertFileDownload\",\n params: {\n file: JSON.stringify({\n md5: \"abcdef1234567890\",\n sizeCheck: {\n type: \"equals\",\n value: 1,\n },\n nameCheck: {\n type: \"contains\",\n value: \".xls\",\n },\n }),\n },\n },\n ],\n browserVariables: [\n {\n type: \"text\",\n name: \"MY_PATTERN_VAR\",\n pattern: \"{{numeric(3)}}\",\n example: \"597\",\n },\n {\n type: \"email\",\n name: \"MY_EMAIL_VAR\",\n pattern: \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example: \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n {\n type: \"global\",\n name: \"MY_GLOBAL_VAR\",\n id: \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n ],\n optionsList: {\n tickEvery: 3600,\n },\n});\n// Example Usage (GRPC API test)\n// Create a new Datadog GRPC API test starting on google.org:50050\nconst grpc = new datadog.SyntheticsTest(\"grpc\", {\n type: \"api\",\n subtype: \"grpc\",\n requestDefinition: {\n method: \"GET\",\n host: \"google.com\",\n port: 50050,\n service: \"Hello\",\n plainProtoFile: `syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n`,\n },\n requestMetadata: {\n header: \"value\",\n },\n assertions: [\n {\n type: \"responseTime\",\n operator: \"lessThan\",\n target: \"2000\",\n },\n {\n operator: \"is\",\n type: \"grpcHealthcheckStatus\",\n target: \"1\",\n },\n {\n operator: \"is\",\n target: \"proto target\",\n type: \"grpcProto\",\n },\n {\n operator: \"is\",\n target: \"123\",\n property: \"property\",\n type: \"grpcMetadata\",\n },\n ],\n locations: [\"aws:eu-central-1\"],\n optionsList: {\n tickEvery: 60,\n },\n name: \"GRPC API test\",\n message: \"Notify @datadog.user\",\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n status: \"paused\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_uptime = datadog.SyntheticsTest(\"testUptime\",\n name=\"An Uptime test on example.org\",\n type=\"api\",\n subtype=\"http\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Authenticated API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_api = datadog.SyntheticsTest(\"testApi\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"http\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Synthetics SSL test)\n# Create a new Datadog Synthetics API/SSL test on example.org\ntest_ssl = datadog.SyntheticsTest(\"testSsl\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"ssl\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"certificate\",\n operator=\"isInMoreThan\",\n target=\"30\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics TCP test)\n# Create a new Datadog Synthetics API/TCP test on example.org\ntest_tcp = datadog.SyntheticsTest(\"testTcp\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"tcp\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n )],\n config_variables=[datadog.SyntheticsTestConfigVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics DNS test)\n# Create a new Datadog Synthetics API/DNS test on example.org\ntest_dns = datadog.SyntheticsTest(\"testDns\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"dns\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"recordSome\",\n operator=\"is\",\n property=\"A\",\n target=\"0.0.0.0\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics Multistep API test)\n# Create a new Datadog Synthetics Multistep API test\ntest_multi_step = datadog.SyntheticsTest(\"testMultiStep\",\n name=\"Multistep API test\",\n type=\"api\",\n subtype=\"multi\",\n status=\"live\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n api_steps=[\n datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n ),\n datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"http://example.org\",\n ),\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics Browser test)\n# Create a new Datadog Synthetics Browser test starting on https://www.example.org\ntest_browser = datadog.SyntheticsTest(\"testBrowser\",\n name=\"A Browser test on example.org\",\n type=\"browser\",\n status=\"paused\",\n message=\"Notify @qa\",\n device_ids=[\"laptop_large\"],\n locations=[\"aws:eu-central-1\"],\n tags=[],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://app.datadoghq.com\",\n ),\n browser_steps=[\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Check current url\",\n type=\"assertCurrentUrl\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n check=\"contains\",\n value=\"datadoghq\",\n ),\n ),\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Test a downloaded file\",\n type=\"assertFileDownload\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n file=json.dumps({\n \"md5\": \"abcdef1234567890\",\n \"sizeCheck\": {\n \"type\": \"equals\",\n \"value\": 1,\n },\n \"nameCheck\": {\n \"type\": \"contains\",\n \"value\": \".xls\",\n },\n }),\n ),\n ),\n ],\n browser_variables=[\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"text\",\n name=\"MY_PATTERN_VAR\",\n pattern=\"{{numeric(3)}}\",\n example=\"597\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"email\",\n name=\"MY_EMAIL_VAR\",\n pattern=\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example=\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=3600,\n ))\n# Example Usage (GRPC API test)\n# Create a new Datadog GRPC API test starting on google.org:50050\ngrpc = datadog.SyntheticsTest(\"grpc\",\n type=\"api\",\n subtype=\"grpc\",\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n host=\"google.com\",\n port=50050,\n service=\"Hello\",\n plain_proto_file=\"\"\"syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n\"\"\",\n ),\n request_metadata={\n \"header\": \"value\",\n },\n assertions=[\n datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n type=\"grpcHealthcheckStatus\",\n target=\"1\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"proto target\",\n type=\"grpcProto\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"123\",\n property=\"property\",\n type=\"grpcMetadata\",\n ),\n ],\n locations=[\"aws:eu-central-1\"],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=60,\n ),\n name=\"GRPC API test\",\n message=\"Notify @datadog.user\",\n tags=[\n \"foo:bar\",\n \"baz\",\n ],\n status=\"paused\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n var testUptime = new Datadog.SyntheticsTest(\"testUptime\", new()\n {\n Name = \"An Uptime test on example.org\",\n Type = \"api\",\n Subtype = \"http\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://www.example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs\n {\n Count = 2,\n Interval = 300,\n },\n MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs\n {\n RenotifyInterval = 120,\n },\n },\n });\n\n // Example Usage (Authenticated API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n var testApi = new Datadog.SyntheticsTest(\"testApi\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"http\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://www.example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n { \"Authentication\", \"Token: 1234566789\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs\n {\n Count = 2,\n Interval = 300,\n },\n MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs\n {\n RenotifyInterval = 120,\n },\n },\n });\n\n // Example Usage (Synthetics SSL test)\n // Create a new Datadog Synthetics API/SSL test on example.org\n var testSsl = new Datadog.SyntheticsTest(\"testSsl\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"ssl\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"certificate\",\n Operator = \"isInMoreThan\",\n Target = \"30\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n AcceptSelfSigned = true,\n },\n });\n\n // Example Usage (Synthetics TCP test)\n // Create a new Datadog Synthetics API/TCP test on example.org\n var testTcp = new Datadog.SyntheticsTest(\"testTcp\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"tcp\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"responseTime\",\n Operator = \"lessThan\",\n Target = \"2000\",\n },\n },\n ConfigVariables = new[]\n {\n new Datadog.Inputs.SyntheticsTestConfigVariableArgs\n {\n Type = \"global\",\n Name = \"MY_GLOBAL_VAR\",\n Id = \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n },\n });\n\n // Example Usage (Synthetics DNS test)\n // Create a new Datadog Synthetics API/DNS test on example.org\n var testDns = new Datadog.SyntheticsTest(\"testDns\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"dns\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"recordSome\",\n Operator = \"is\",\n Property = \"A\",\n Target = \"0.0.0.0\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n },\n });\n\n // Example Usage (Synthetics Multistep API test)\n // Create a new Datadog Synthetics Multistep API test\n var testMultiStep = new Datadog.SyntheticsTest(\"testMultiStep\", new()\n {\n Name = \"Multistep API test\",\n Type = \"api\",\n Subtype = \"multi\",\n Status = \"live\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n ApiSteps = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"An API test on example.org\",\n Subtype = \"http\",\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n { \"Authentication\", \"Token: 1234566789\" },\n },\n },\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"An API test on example.org\",\n Subtype = \"http\",\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"http://example.org\",\n },\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n AcceptSelfSigned = true,\n },\n });\n\n // Example Usage (Synthetics Browser test)\n // Create a new Datadog Synthetics Browser test starting on https://www.example.org\n var testBrowser = new Datadog.SyntheticsTest(\"testBrowser\", new()\n {\n Name = \"A Browser test on example.org\",\n Type = \"browser\",\n Status = \"paused\",\n Message = \"Notify @qa\",\n DeviceIds = new[]\n {\n \"laptop_large\",\n },\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[] {},\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://app.datadoghq.com\",\n },\n BrowserSteps = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Check current url\",\n Type = \"assertCurrentUrl\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n Check = \"contains\",\n Value = \"datadoghq\",\n },\n },\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Test a downloaded file\",\n Type = \"assertFileDownload\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n File = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"md5\"] = \"abcdef1234567890\",\n [\"sizeCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"equals\",\n [\"value\"] = 1,\n },\n [\"nameCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"contains\",\n [\"value\"] = \".xls\",\n },\n }),\n },\n },\n },\n BrowserVariables = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"text\",\n Name = \"MY_PATTERN_VAR\",\n Pattern = \"{{numeric(3)}}\",\n Example = \"597\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"email\",\n Name = \"MY_EMAIL_VAR\",\n Pattern = \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n Example = \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"global\",\n Name = \"MY_GLOBAL_VAR\",\n Id = \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 3600,\n },\n });\n\n // Example Usage (GRPC API test)\n // Create a new Datadog GRPC API test starting on google.org:50050\n var grpc = new Datadog.SyntheticsTest(\"grpc\", new()\n {\n Type = \"api\",\n Subtype = \"grpc\",\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Host = \"google.com\",\n Port = 50050,\n Service = \"Hello\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\noption java_multiple_files = true;\noption java_package = \"\"io.grpc.examples.helloworld\"\";\noption java_outer_classname = \"\"HelloWorldProto\"\";\noption objc_class_prefix = \"\"HLW\"\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n\",\n },\n RequestMetadata = \n {\n { \"header\", \"value\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"responseTime\",\n Operator = \"lessThan\",\n Target = \"2000\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Type = \"grpcHealthcheckStatus\",\n Target = \"1\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"proto target\",\n Type = \"grpcProto\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"123\",\n Property = \"property\",\n Type = \"grpcMetadata\",\n },\n },\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 60,\n },\n Name = \"GRPC API test\",\n Message = \"Notify @datadog.user\",\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n Status = \"paused\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSyntheticsTest(ctx, \"testUptime\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An Uptime test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tUrl: pulumi.String(\"https://www.example.org\"),\n\t\t\t},\n\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tRetry: \u0026datadog.SyntheticsTestOptionsListRetryArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tInterval: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t\tMonitorOptions: \u0026datadog.SyntheticsTestOptionsListMonitorOptionsArgs{\n\t\t\t\t\tRenotifyInterval: pulumi.Int(120),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testApi\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tUrl: pulumi.String(\"https://www.example.org\"),\n\t\t\t},\n\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t\t\"Authentication\": pulumi.Any(\"Token: 1234566789\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tRetry: \u0026datadog.SyntheticsTestOptionsListRetryArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tInterval: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t\tMonitorOptions: \u0026datadog.SyntheticsTestOptionsListMonitorOptionsArgs{\n\t\t\t\t\tRenotifyInterval: pulumi.Int(120),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testSsl\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"ssl\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"certificate\"),\n\t\t\t\t\tOperator: pulumi.String(\"isInMoreThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"30\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tAcceptSelfSigned: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testTcp\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"tcp\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"responseTime\"),\n\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"2000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfigVariables: datadog.SyntheticsTestConfigVariableArray{\n\t\t\t\t\u0026datadog.SyntheticsTestConfigVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"global\"),\n\t\t\t\t\tName: pulumi.String(\"MY_GLOBAL_VAR\"),\n\t\t\t\t\tId: pulumi.String(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testDns\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"dns\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"recordSome\"),\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tProperty: pulumi.String(\"A\"),\n\t\t\t\t\tTarget: pulumi.String(\"0.0.0.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testMultiStep\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"Multistep API test\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"multi\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tApiSteps: datadog.SyntheticsTestApiStepArray{\n\t\t\t\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\t\t\tAssertions: datadog.SyntheticsTestApiStepAssertionArray{\n\t\t\t\t\t\t\u0026datadog.SyntheticsTestApiStepAssertionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestApiStepRequestDefinitionArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"https://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t\t\t\t\"Authentication\": pulumi.Any(\"Token: 1234566789\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\t\t\tAssertions: datadog.SyntheticsTestApiStepAssertionArray{\n\t\t\t\t\t\t\u0026datadog.SyntheticsTestApiStepAssertionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestApiStepRequestDefinitionArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"http://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tAcceptSelfSigned: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"md5\": \"abcdef1234567890\",\n\t\t\t\"sizeCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"equals\",\n\t\t\t\t\"value\": 1,\n\t\t\t},\n\t\t\t\"nameCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"contains\",\n\t\t\t\t\"value\": \".xls\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testBrowser\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"A Browser test on example.org\"),\n\t\t\tType: pulumi.String(\"browser\"),\n\t\t\tStatus: pulumi.String(\"paused\"),\n\t\t\tMessage: pulumi.String(\"Notify @qa\"),\n\t\t\tDeviceIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"laptop_large\"),\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tUrl: pulumi.String(\"https://app.datadoghq.com\"),\n\t\t\t},\n\t\t\tBrowserSteps: datadog.SyntheticsTestBrowserStepArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Check current url\"),\n\t\t\t\t\tType: pulumi.String(\"assertCurrentUrl\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tCheck: pulumi.String(\"contains\"),\n\t\t\t\t\t\tValue: pulumi.String(\"datadoghq\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Test a downloaded file\"),\n\t\t\t\t\tType: pulumi.String(\"assertFileDownload\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tFile: pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBrowserVariables: datadog.SyntheticsTestBrowserVariableArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tName: pulumi.String(\"MY_PATTERN_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"{{numeric(3)}}\"),\n\t\t\t\t\tExample: pulumi.String(\"597\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"email\"),\n\t\t\t\t\tName: pulumi.String(\"MY_EMAIL_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\"),\n\t\t\t\t\tExample: pulumi.String(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"global\"),\n\t\t\t\t\tName: pulumi.String(\"MY_GLOBAL_VAR\"),\n\t\t\t\t\tId: pulumi.String(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(3600),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"grpc\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tHost: pulumi.String(\"google.com\"),\n\t\t\t\tPort: pulumi.Int(50050),\n\t\t\t\tService: pulumi.String(\"Hello\"),\n\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n`),\n\t\t\t},\n\t\t\tRequestMetadata: pulumi.Map{\n\t\t\t\t\"header\": pulumi.Any(\"value\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"responseTime\"),\n\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"2000\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tType: pulumi.String(\"grpcHealthcheckStatus\"),\n\t\t\t\t\tTarget: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"proto target\"),\n\t\t\t\t\tType: pulumi.String(\"grpcProto\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"123\"),\n\t\t\t\t\tProperty: pulumi.String(\"property\"),\n\t\t\t\t\tType: pulumi.String(\"grpcMetadata\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(60),\n\t\t\t},\n\t\t\tName: pulumi.String(\"GRPC API test\"),\n\t\t\tMessage: pulumi.String(\"Notify @datadog.user\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"paused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsTest;\nimport com.pulumi.datadog.SyntheticsTestArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestAssertionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListRetryArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListMonitorOptionsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testUptime = new SyntheticsTest(\"testUptime\", SyntheticsTestArgs.builder() \n .name(\"An Uptime test on example.org\")\n .type(\"api\")\n .subtype(\"http\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://www.example.org\")\n .build())\n .requestHeaders(Map.of(\"Content-Type\", \"application/json\"))\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .retry(SyntheticsTestOptionsListRetryArgs.builder()\n .count(2)\n .interval(300)\n .build())\n .monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()\n .renotifyInterval(120)\n .build())\n .build())\n .build());\n\n var testApi = new SyntheticsTest(\"testApi\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"http\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://www.example.org\")\n .build())\n .requestHeaders(Map.ofEntries(\n Map.entry(\"Content-Type\", \"application/json\"),\n Map.entry(\"Authentication\", \"Token: 1234566789\")\n ))\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .retry(SyntheticsTestOptionsListRetryArgs.builder()\n .count(2)\n .interval(300)\n .build())\n .monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()\n .renotifyInterval(120)\n .build())\n .build())\n .build());\n\n var testSsl = new SyntheticsTest(\"testSsl\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"ssl\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .build())\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"certificate\")\n .operator(\"isInMoreThan\")\n .target(30)\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\n\n var testTcp = new SyntheticsTest(\"testTcp\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"tcp\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .build())\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"responseTime\")\n .operator(\"lessThan\")\n .target(2000)\n .build())\n .configVariables(SyntheticsTestConfigVariableArgs.builder()\n .type(\"global\")\n .name(\"MY_GLOBAL_VAR\")\n .id(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\n .build());\n\n var testDns = new SyntheticsTest(\"testDns\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"dns\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .build())\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"recordSome\")\n .operator(\"is\")\n .property(\"A\")\n .target(\"0.0.0.0\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\n .build());\n\n var testMultiStep = new SyntheticsTest(\"testMultiStep\", SyntheticsTestArgs.builder() \n .name(\"Multistep API test\")\n .type(\"api\")\n .subtype(\"multi\")\n .status(\"live\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .apiSteps( \n SyntheticsTestApiStepArgs.builder()\n .name(\"An API test on example.org\")\n .subtype(\"http\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://example.org\")\n .build())\n .requestHeaders(Map.ofEntries(\n Map.entry(\"Content-Type\", \"application/json\"),\n Map.entry(\"Authentication\", \"Token: 1234566789\")\n ))\n .build(),\n SyntheticsTestApiStepArgs.builder()\n .name(\"An API test on example.org\")\n .subtype(\"http\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"http://example.org\")\n .build())\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\n\n var testBrowser = new SyntheticsTest(\"testBrowser\", SyntheticsTestArgs.builder() \n .name(\"A Browser test on example.org\")\n .type(\"browser\")\n .status(\"paused\")\n .message(\"Notify @qa\")\n .deviceIds(\"laptop_large\")\n .locations(\"aws:eu-central-1\")\n .tags()\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://app.datadoghq.com\")\n .build())\n .browserSteps( \n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Check current url\")\n .type(\"assertCurrentUrl\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .check(\"contains\")\n .value(\"datadoghq\")\n .build())\n .build(),\n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Test a downloaded file\")\n .type(\"assertFileDownload\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .file(serializeJson(\n jsonObject(\n jsonProperty(\"md5\", \"abcdef1234567890\"),\n jsonProperty(\"sizeCheck\", jsonObject(\n jsonProperty(\"type\", \"equals\"),\n jsonProperty(\"value\", 1)\n )),\n jsonProperty(\"nameCheck\", jsonObject(\n jsonProperty(\"type\", \"contains\"),\n jsonProperty(\"value\", \".xls\")\n ))\n )))\n .build())\n .build())\n .browserVariables( \n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"text\")\n .name(\"MY_PATTERN_VAR\")\n .pattern(\"{{numeric(3)}}\")\n .example(\"597\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"email\")\n .name(\"MY_EMAIL_VAR\")\n .pattern(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\")\n .example(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"global\")\n .name(\"MY_GLOBAL_VAR\")\n .id(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(3600)\n .build())\n .build());\n\n var grpc = new SyntheticsTest(\"grpc\", SyntheticsTestArgs.builder() \n .type(\"api\")\n .subtype(\"grpc\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .host(\"google.com\")\n .port(50050)\n .service(\"Hello\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n \"\"\")\n .build())\n .requestMetadata(Map.of(\"header\", \"value\"))\n .assertions( \n SyntheticsTestAssertionArgs.builder()\n .type(\"responseTime\")\n .operator(\"lessThan\")\n .target(\"2000\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .type(\"grpcHealthcheckStatus\")\n .target(1)\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"proto target\")\n .type(\"grpcProto\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"123\")\n .property(\"property\")\n .type(\"grpcMetadata\")\n .build())\n .locations(\"aws:eu-central-1\")\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(60)\n .build())\n .name(\"GRPC API test\")\n .message(\"Notify @datadog.user\")\n .tags( \n \"foo:bar\",\n \"baz\")\n .status(\"paused\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics API test)\n # Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n testUptime:\n type: datadog:SyntheticsTest\n properties:\n name: An Uptime test on example.org\n type: api\n subtype: http\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n method: GET\n url: https://www.example.org\n requestHeaders:\n Content-Type: application/json\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n optionsList:\n tickEvery: 900\n retry:\n count: 2\n interval: 300\n monitorOptions:\n renotifyInterval: 120\n # Example Usage (Authenticated API test)\n # Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n testApi:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: http\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n method: GET\n url: https://www.example.org\n requestHeaders:\n Content-Type: application/json\n Authentication: 'Token: 1234566789'\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n optionsList:\n tickEvery: 900\n retry:\n count: 2\n interval: 300\n monitorOptions:\n renotifyInterval: 120\n # Example Usage (Synthetics SSL test)\n # Create a new Datadog Synthetics API/SSL test on example.org\n testSsl:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: ssl\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n host: example.org\n port: 443\n assertions:\n - type: certificate\n operator: isInMoreThan\n target: 30\n optionsList:\n tickEvery: 900\n acceptSelfSigned: true\n # Example Usage (Synthetics TCP test)\n # Create a new Datadog Synthetics API/TCP test on example.org\n testTcp:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: tcp\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n host: example.org\n port: 443\n assertions:\n - type: responseTime\n operator: lessThan\n target: 2000\n configVariables:\n - type: global\n name: MY_GLOBAL_VAR\n id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2\n optionsList:\n tickEvery: 900\n # Example Usage (Synthetics DNS test)\n # Create a new Datadog Synthetics API/DNS test on example.org\n testDns:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: dns\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n host: example.org\n assertions:\n - type: recordSome\n operator: is\n property: A\n target: 0.0.0.0\n optionsList:\n tickEvery: 900\n # Example Usage (Synthetics Multistep API test)\n # Create a new Datadog Synthetics Multistep API test\n testMultiStep:\n type: datadog:SyntheticsTest\n properties:\n name: Multistep API test\n type: api\n subtype: multi\n status: live\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n apiSteps:\n - name: An API test on example.org\n subtype: http\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n method: GET\n url: https://example.org\n requestHeaders:\n Content-Type: application/json\n Authentication: 'Token: 1234566789'\n - name: An API test on example.org\n subtype: http\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n method: GET\n url: http://example.org\n optionsList:\n tickEvery: 900\n acceptSelfSigned: true\n # Example Usage (Synthetics Browser test)\n # Create a new Datadog Synthetics Browser test starting on https://www.example.org\n testBrowser:\n type: datadog:SyntheticsTest\n properties:\n name: A Browser test on example.org\n type: browser\n status: paused\n message: Notify @qa\n deviceIds:\n - laptop_large\n locations:\n - aws:eu-central-1\n tags: []\n requestDefinition:\n method: GET\n url: https://app.datadoghq.com\n browserSteps:\n - name: Check current url\n type: assertCurrentUrl\n params:\n check: contains\n value: datadoghq\n - name: Test a downloaded file\n type: assertFileDownload\n params:\n file:\n fn::toJSON:\n md5: abcdef1234567890\n sizeCheck:\n type: equals\n value: 1\n nameCheck:\n type: contains\n value: .xls\n browserVariables:\n - type: text\n name: MY_PATTERN_VAR\n pattern: '{{numeric(3)}}'\n example: '597'\n - type: email\n name: MY_EMAIL_VAR\n pattern: jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\n example: jd8-afe-ydv.4546132139@synthetics.dtdg.co\n - type: global\n name: MY_GLOBAL_VAR\n id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2\n optionsList:\n tickEvery: 3600\n # Example Usage (GRPC API test)\n # Create a new Datadog GRPC API test starting on google.org:50050\n grpc:\n type: datadog:SyntheticsTest\n properties:\n type: api\n subtype: grpc\n requestDefinition:\n method: GET\n host: google.com\n port: 50050\n service: Hello\n plainProtoFile: |\n syntax = \"proto3\";\n option java_multiple_files = true;\n option java_package = \"io.grpc.examples.helloworld\";\n option java_outer_classname = \"HelloWorldProto\";\n option objc_class_prefix = \"HLW\";\n package helloworld;\n // The greeting service definition.\n service Greeter {\n \t// Sends a greeting\n \trpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n // The request message containing the user's name.\n message HelloRequest {\n \tstring name = 1;\n }\n // The response message containing the greetings\n message HelloReply {\n \tstring message = 1;\n }\n requestMetadata:\n header: value\n assertions:\n - type: responseTime\n operator: lessThan\n target: '2000'\n - operator: is\n type: grpcHealthcheckStatus\n target: 1\n - operator: is\n target: proto target\n type: grpcProto\n - operator: is\n target: '123'\n property: property\n type: grpcMetadata\n locations:\n - aws:eu-central-1\n optionsList:\n tickEvery: 60\n name: GRPC API test\n message: Notify @datadog.user\n tags:\n - foo:bar\n - baz\n status: paused\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSynthetics tests can be imported using their public string ID, e.g.\n\n ```sh\n $ pulumi import datadog:index/syntheticsTest:SyntheticsTest fizz abc-123-xyz\n```\n\n ", + "description": "Provides a Datadog synthetics test resource. This can be used to create and manage Datadog synthetics test.\n\n#### *Warning*\nStarting from version 3.1.0+, the direct usage of global variables in the configuration is deprecated, in favor of\nlocal variables of type `global`. As an example, if you were previously using `{{ GLOBAL_VAR }}` directly in your\nconfiguration, add a `config_variable` of type `global` with the `id` matching the `id` of the global variable `GLOBAL_VAR`, which can be found in the Synthetics UI or from the output of the `datadog.SyntheticsGlobalVariable` resource. The name can be chosen freely. \n\nIn practice, it means going from (simplified configuration):\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\nto\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\nwhich you can now use in your request definition:\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Example Usage (Synthetics API test)\n// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\nconst testUptime = new datadog.SyntheticsTest(\"testUptime\", {\n name: \"An Uptime test on example.org\",\n type: \"api\",\n subtype: \"http\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n method: \"GET\",\n url: \"https://www.example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n },\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n optionsList: {\n tickEvery: 900,\n retry: {\n count: 2,\n interval: 300,\n },\n monitorOptions: {\n renotifyInterval: 120,\n },\n },\n});\n// Example Usage (Authenticated API test)\n// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\nconst testApi = new datadog.SyntheticsTest(\"testApi\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"http\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n method: \"GET\",\n url: \"https://www.example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n Authentication: \"Token: 1234566789\",\n },\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n optionsList: {\n tickEvery: 900,\n retry: {\n count: 2,\n interval: 300,\n },\n monitorOptions: {\n renotifyInterval: 120,\n },\n },\n});\n// Example Usage (Synthetics SSL test)\n// Create a new Datadog Synthetics API/SSL test on example.org\nconst testSsl = new datadog.SyntheticsTest(\"testSsl\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"ssl\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n },\n assertions: [{\n type: \"certificate\",\n operator: \"isInMoreThan\",\n target: \"30\",\n }],\n optionsList: {\n tickEvery: 900,\n acceptSelfSigned: true,\n },\n});\n// Example Usage (Synthetics TCP test)\n// Create a new Datadog Synthetics API/TCP test on example.org\nconst testTcp = new datadog.SyntheticsTest(\"testTcp\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"tcp\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n },\n assertions: [{\n type: \"responseTime\",\n operator: \"lessThan\",\n target: \"2000\",\n }],\n configVariables: [{\n type: \"global\",\n name: \"MY_GLOBAL_VAR\",\n id: \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n }],\n optionsList: {\n tickEvery: 900,\n },\n});\n// Example Usage (Synthetics DNS test)\n// Create a new Datadog Synthetics API/DNS test on example.org\nconst testDns = new datadog.SyntheticsTest(\"testDns\", {\n name: \"An API test on example.org\",\n type: \"api\",\n subtype: \"dns\",\n status: \"live\",\n message: \"Notify @pagerduty\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n requestDefinition: {\n host: \"example.org\",\n },\n assertions: [{\n type: \"recordSome\",\n operator: \"is\",\n property: \"A\",\n target: \"0.0.0.0\",\n }],\n optionsList: {\n tickEvery: 900,\n },\n});\n// Example Usage (Synthetics Multistep API test)\n// Create a new Datadog Synthetics Multistep API test\nconst testMultiStep = new datadog.SyntheticsTest(\"testMultiStep\", {\n name: \"Multistep API test\",\n type: \"api\",\n subtype: \"multi\",\n status: \"live\",\n locations: [\"aws:eu-central-1\"],\n tags: [\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n apiSteps: [\n {\n name: \"An API test on example.org\",\n subtype: \"http\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n method: \"GET\",\n url: \"https://example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n Authentication: \"Token: 1234566789\",\n },\n },\n {\n name: \"An API test on example.org\",\n subtype: \"http\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n method: \"GET\",\n url: \"http://example.org\",\n },\n },\n ],\n optionsList: {\n tickEvery: 900,\n acceptSelfSigned: true,\n },\n});\n// Example Usage (Synthetics Browser test)\n// Create a new Datadog Synthetics Browser test starting on https://www.example.org\nconst testBrowser = new datadog.SyntheticsTest(\"testBrowser\", {\n name: \"A Browser test on example.org\",\n type: \"browser\",\n status: \"paused\",\n message: \"Notify @qa\",\n deviceIds: [\"laptop_large\"],\n locations: [\"aws:eu-central-1\"],\n tags: [],\n requestDefinition: {\n method: \"GET\",\n url: \"https://app.datadoghq.com\",\n },\n browserSteps: [\n {\n name: \"Check current url\",\n type: \"assertCurrentUrl\",\n params: {\n check: \"contains\",\n value: \"datadoghq\",\n },\n },\n {\n name: \"Test a downloaded file\",\n type: \"assertFileDownload\",\n params: {\n file: JSON.stringify({\n md5: \"abcdef1234567890\",\n sizeCheck: {\n type: \"equals\",\n value: 1,\n },\n nameCheck: {\n type: \"contains\",\n value: \".xls\",\n },\n }),\n },\n },\n ],\n browserVariables: [\n {\n type: \"text\",\n name: \"MY_PATTERN_VAR\",\n pattern: \"{{numeric(3)}}\",\n example: \"597\",\n },\n {\n type: \"email\",\n name: \"MY_EMAIL_VAR\",\n pattern: \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example: \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n {\n type: \"global\",\n name: \"MY_GLOBAL_VAR\",\n id: \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n ],\n optionsList: {\n tickEvery: 3600,\n },\n});\n// Example Usage (GRPC API test)\n// Create a new Datadog GRPC API test starting on google.org:50050\nconst grpc = new datadog.SyntheticsTest(\"grpc\", {\n type: \"api\",\n subtype: \"grpc\",\n requestDefinition: {\n method: \"GET\",\n host: \"google.com\",\n port: 50050,\n service: \"Hello\",\n plainProtoFile: `syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n`,\n },\n requestMetadata: {\n header: \"value\",\n },\n assertions: [\n {\n type: \"responseTime\",\n operator: \"lessThan\",\n target: \"2000\",\n },\n {\n operator: \"is\",\n type: \"grpcHealthcheckStatus\",\n target: \"1\",\n },\n {\n operator: \"is\",\n target: \"proto target\",\n type: \"grpcProto\",\n },\n {\n operator: \"is\",\n target: \"123\",\n property: \"property\",\n type: \"grpcMetadata\",\n },\n ],\n locations: [\"aws:eu-central-1\"],\n optionsList: {\n tickEvery: 60,\n },\n name: \"GRPC API test\",\n message: \"Notify @datadog.user\",\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n status: \"paused\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_uptime = datadog.SyntheticsTest(\"testUptime\",\n name=\"An Uptime test on example.org\",\n type=\"api\",\n subtype=\"http\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Authenticated API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_api = datadog.SyntheticsTest(\"testApi\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"http\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Synthetics SSL test)\n# Create a new Datadog Synthetics API/SSL test on example.org\ntest_ssl = datadog.SyntheticsTest(\"testSsl\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"ssl\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"certificate\",\n operator=\"isInMoreThan\",\n target=\"30\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics TCP test)\n# Create a new Datadog Synthetics API/TCP test on example.org\ntest_tcp = datadog.SyntheticsTest(\"testTcp\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"tcp\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n )],\n config_variables=[datadog.SyntheticsTestConfigVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics DNS test)\n# Create a new Datadog Synthetics API/DNS test on example.org\ntest_dns = datadog.SyntheticsTest(\"testDns\",\n name=\"An API test on example.org\",\n type=\"api\",\n subtype=\"dns\",\n status=\"live\",\n message=\"Notify @pagerduty\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"recordSome\",\n operator=\"is\",\n property=\"A\",\n target=\"0.0.0.0\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics Multistep API test)\n# Create a new Datadog Synthetics Multistep API test\ntest_multi_step = datadog.SyntheticsTest(\"testMultiStep\",\n name=\"Multistep API test\",\n type=\"api\",\n subtype=\"multi\",\n status=\"live\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n api_steps=[\n datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n ),\n datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"http://example.org\",\n ),\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics Browser test)\n# Create a new Datadog Synthetics Browser test starting on https://www.example.org\ntest_browser = datadog.SyntheticsTest(\"testBrowser\",\n name=\"A Browser test on example.org\",\n type=\"browser\",\n status=\"paused\",\n message=\"Notify @qa\",\n device_ids=[\"laptop_large\"],\n locations=[\"aws:eu-central-1\"],\n tags=[],\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://app.datadoghq.com\",\n ),\n browser_steps=[\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Check current url\",\n type=\"assertCurrentUrl\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n check=\"contains\",\n value=\"datadoghq\",\n ),\n ),\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Test a downloaded file\",\n type=\"assertFileDownload\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n file=json.dumps({\n \"md5\": \"abcdef1234567890\",\n \"sizeCheck\": {\n \"type\": \"equals\",\n \"value\": 1,\n },\n \"nameCheck\": {\n \"type\": \"contains\",\n \"value\": \".xls\",\n },\n }),\n ),\n ),\n ],\n browser_variables=[\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"text\",\n name=\"MY_PATTERN_VAR\",\n pattern=\"{{numeric(3)}}\",\n example=\"597\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"email\",\n name=\"MY_EMAIL_VAR\",\n pattern=\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example=\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=3600,\n ))\n# Example Usage (GRPC API test)\n# Create a new Datadog GRPC API test starting on google.org:50050\ngrpc = datadog.SyntheticsTest(\"grpc\",\n type=\"api\",\n subtype=\"grpc\",\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n host=\"google.com\",\n port=50050,\n service=\"Hello\",\n plain_proto_file=\"\"\"syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n\"\"\",\n ),\n request_metadata={\n \"header\": \"value\",\n },\n assertions=[\n datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n type=\"grpcHealthcheckStatus\",\n target=\"1\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"proto target\",\n type=\"grpcProto\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"123\",\n property=\"property\",\n type=\"grpcMetadata\",\n ),\n ],\n locations=[\"aws:eu-central-1\"],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=60,\n ),\n name=\"GRPC API test\",\n message=\"Notify @datadog.user\",\n tags=[\n \"foo:bar\",\n \"baz\",\n ],\n status=\"paused\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n var testUptime = new Datadog.SyntheticsTest(\"testUptime\", new()\n {\n Name = \"An Uptime test on example.org\",\n Type = \"api\",\n Subtype = \"http\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://www.example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs\n {\n Count = 2,\n Interval = 300,\n },\n MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs\n {\n RenotifyInterval = 120,\n },\n },\n });\n\n // Example Usage (Authenticated API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n var testApi = new Datadog.SyntheticsTest(\"testApi\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"http\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://www.example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n { \"Authentication\", \"Token: 1234566789\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n Retry = new Datadog.Inputs.SyntheticsTestOptionsListRetryArgs\n {\n Count = 2,\n Interval = 300,\n },\n MonitorOptions = new Datadog.Inputs.SyntheticsTestOptionsListMonitorOptionsArgs\n {\n RenotifyInterval = 120,\n },\n },\n });\n\n // Example Usage (Synthetics SSL test)\n // Create a new Datadog Synthetics API/SSL test on example.org\n var testSsl = new Datadog.SyntheticsTest(\"testSsl\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"ssl\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"certificate\",\n Operator = \"isInMoreThan\",\n Target = \"30\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n AcceptSelfSigned = true,\n },\n });\n\n // Example Usage (Synthetics TCP test)\n // Create a new Datadog Synthetics API/TCP test on example.org\n var testTcp = new Datadog.SyntheticsTest(\"testTcp\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"tcp\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"responseTime\",\n Operator = \"lessThan\",\n Target = \"2000\",\n },\n },\n ConfigVariables = new[]\n {\n new Datadog.Inputs.SyntheticsTestConfigVariableArgs\n {\n Type = \"global\",\n Name = \"MY_GLOBAL_VAR\",\n Id = \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n },\n });\n\n // Example Usage (Synthetics DNS test)\n // Create a new Datadog Synthetics API/DNS test on example.org\n var testDns = new Datadog.SyntheticsTest(\"testDns\", new()\n {\n Name = \"An API test on example.org\",\n Type = \"api\",\n Subtype = \"dns\",\n Status = \"live\",\n Message = \"Notify @pagerduty\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"recordSome\",\n Operator = \"is\",\n Property = \"A\",\n Target = \"0.0.0.0\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n },\n });\n\n // Example Usage (Synthetics Multistep API test)\n // Create a new Datadog Synthetics Multistep API test\n var testMultiStep = new Datadog.SyntheticsTest(\"testMultiStep\", new()\n {\n Name = \"Multistep API test\",\n Type = \"api\",\n Subtype = \"multi\",\n Status = \"live\",\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[]\n {\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n },\n ApiSteps = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"An API test on example.org\",\n Subtype = \"http\",\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n { \"Authentication\", \"Token: 1234566789\" },\n },\n },\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"An API test on example.org\",\n Subtype = \"http\",\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"http://example.org\",\n },\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n AcceptSelfSigned = true,\n },\n });\n\n // Example Usage (Synthetics Browser test)\n // Create a new Datadog Synthetics Browser test starting on https://www.example.org\n var testBrowser = new Datadog.SyntheticsTest(\"testBrowser\", new()\n {\n Name = \"A Browser test on example.org\",\n Type = \"browser\",\n Status = \"paused\",\n Message = \"Notify @qa\",\n DeviceIds = new[]\n {\n \"laptop_large\",\n },\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n Tags = new[] {},\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"https://app.datadoghq.com\",\n },\n BrowserSteps = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Check current url\",\n Type = \"assertCurrentUrl\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n Check = \"contains\",\n Value = \"datadoghq\",\n },\n },\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Test a downloaded file\",\n Type = \"assertFileDownload\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n File = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"md5\"] = \"abcdef1234567890\",\n [\"sizeCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"equals\",\n [\"value\"] = 1,\n },\n [\"nameCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"contains\",\n [\"value\"] = \".xls\",\n },\n }),\n },\n },\n },\n BrowserVariables = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"text\",\n Name = \"MY_PATTERN_VAR\",\n Pattern = \"{{numeric(3)}}\",\n Example = \"597\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"email\",\n Name = \"MY_EMAIL_VAR\",\n Pattern = \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n Example = \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"global\",\n Name = \"MY_GLOBAL_VAR\",\n Id = \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 3600,\n },\n });\n\n // Example Usage (GRPC API test)\n // Create a new Datadog GRPC API test starting on google.org:50050\n var grpc = new Datadog.SyntheticsTest(\"grpc\", new()\n {\n Type = \"api\",\n Subtype = \"grpc\",\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Host = \"google.com\",\n Port = 50050,\n Service = \"Hello\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\noption java_multiple_files = true;\noption java_package = \"\"io.grpc.examples.helloworld\"\";\noption java_outer_classname = \"\"HelloWorldProto\"\";\noption objc_class_prefix = \"\"HLW\"\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n\",\n },\n RequestMetadata = \n {\n { \"header\", \"value\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"responseTime\",\n Operator = \"lessThan\",\n Target = \"2000\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Type = \"grpcHealthcheckStatus\",\n Target = \"1\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"proto target\",\n Type = \"grpcProto\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"123\",\n Property = \"property\",\n Type = \"grpcMetadata\",\n },\n },\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 60,\n },\n Name = \"GRPC API test\",\n Message = \"Notify @datadog.user\",\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n Status = \"paused\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Usage (Synthetics API test)\n\t\t// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n\t\t_, err := datadog.NewSyntheticsTest(ctx, \"testUptime\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An Uptime test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tUrl: pulumi.String(\"https://www.example.org\"),\n\t\t\t},\n\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tRetry: \u0026datadog.SyntheticsTestOptionsListRetryArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tInterval: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t\tMonitorOptions: \u0026datadog.SyntheticsTestOptionsListMonitorOptionsArgs{\n\t\t\t\t\tRenotifyInterval: pulumi.Int(120),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (Authenticated API test)\n\t\t// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testApi\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tUrl: pulumi.String(\"https://www.example.org\"),\n\t\t\t},\n\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t\t\"Authentication\": pulumi.Any(\"Token: 1234566789\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tRetry: \u0026datadog.SyntheticsTestOptionsListRetryArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tInterval: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t\tMonitorOptions: \u0026datadog.SyntheticsTestOptionsListMonitorOptionsArgs{\n\t\t\t\t\tRenotifyInterval: pulumi.Int(120),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (Synthetics SSL test)\n\t\t// Create a new Datadog Synthetics API/SSL test on example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testSsl\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"ssl\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"certificate\"),\n\t\t\t\t\tOperator: pulumi.String(\"isInMoreThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"30\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tAcceptSelfSigned: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (Synthetics TCP test)\n\t\t// Create a new Datadog Synthetics API/TCP test on example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testTcp\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"tcp\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"responseTime\"),\n\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"2000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfigVariables: datadog.SyntheticsTestConfigVariableArray{\n\t\t\t\t\u0026datadog.SyntheticsTestConfigVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"global\"),\n\t\t\t\t\tName: pulumi.String(\"MY_GLOBAL_VAR\"),\n\t\t\t\t\tId: pulumi.String(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (Synthetics DNS test)\n\t\t// Create a new Datadog Synthetics API/DNS test on example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testDns\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"dns\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tMessage: pulumi.String(\"Notify @pagerduty\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"recordSome\"),\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tProperty: pulumi.String(\"A\"),\n\t\t\t\t\tTarget: pulumi.String(\"0.0.0.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (Synthetics Multistep API test)\n\t\t// Create a new Datadog Synthetics Multistep API test\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testMultiStep\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"Multistep API test\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"multi\"),\n\t\t\tStatus: pulumi.String(\"live\"),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tApiSteps: datadog.SyntheticsTestApiStepArray{\n\t\t\t\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\t\t\tAssertions: datadog.SyntheticsTestApiStepAssertionArray{\n\t\t\t\t\t\t\u0026datadog.SyntheticsTestApiStepAssertionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestApiStepRequestDefinitionArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"https://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t\t\t\t\"Authentication\": pulumi.Any(\"Token: 1234566789\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\t\t\tAssertions: datadog.SyntheticsTestApiStepAssertionArray{\n\t\t\t\t\t\t\u0026datadog.SyntheticsTestApiStepAssertionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestApiStepRequestDefinitionArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"http://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tAcceptSelfSigned: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"md5\": \"abcdef1234567890\",\n\t\t\t\"sizeCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"equals\",\n\t\t\t\t\"value\": 1,\n\t\t\t},\n\t\t\t\"nameCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"contains\",\n\t\t\t\t\"value\": \".xls\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// Example Usage (Synthetics Browser test)\n\t\t// Create a new Datadog Synthetics Browser test starting on https://www.example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"testBrowser\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"A Browser test on example.org\"),\n\t\t\tType: pulumi.String(\"browser\"),\n\t\t\tStatus: pulumi.String(\"paused\"),\n\t\t\tMessage: pulumi.String(\"Notify @qa\"),\n\t\t\tDeviceIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"laptop_large\"),\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{},\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tUrl: pulumi.String(\"https://app.datadoghq.com\"),\n\t\t\t},\n\t\t\tBrowserSteps: datadog.SyntheticsTestBrowserStepArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Check current url\"),\n\t\t\t\t\tType: pulumi.String(\"assertCurrentUrl\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tCheck: pulumi.String(\"contains\"),\n\t\t\t\t\t\tValue: pulumi.String(\"datadoghq\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Test a downloaded file\"),\n\t\t\t\t\tType: pulumi.String(\"assertFileDownload\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tFile: pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBrowserVariables: datadog.SyntheticsTestBrowserVariableArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tName: pulumi.String(\"MY_PATTERN_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"{{numeric(3)}}\"),\n\t\t\t\t\tExample: pulumi.String(\"597\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"email\"),\n\t\t\t\t\tName: pulumi.String(\"MY_EMAIL_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\"),\n\t\t\t\t\tExample: pulumi.String(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"global\"),\n\t\t\t\t\tName: pulumi.String(\"MY_GLOBAL_VAR\"),\n\t\t\t\t\tId: pulumi.String(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(3600),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (GRPC API test)\n\t\t// Create a new Datadog GRPC API test starting on google.org:50050\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"grpc\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tHost: pulumi.String(\"google.com\"),\n\t\t\t\tPort: pulumi.Int(50050),\n\t\t\t\tService: pulumi.String(\"Hello\"),\n\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n`),\n\t\t\t},\n\t\t\tRequestMetadata: pulumi.Map{\n\t\t\t\t\"header\": pulumi.Any(\"value\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"responseTime\"),\n\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"2000\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tType: pulumi.String(\"grpcHealthcheckStatus\"),\n\t\t\t\t\tTarget: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"proto target\"),\n\t\t\t\t\tType: pulumi.String(\"grpcProto\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"123\"),\n\t\t\t\t\tProperty: pulumi.String(\"property\"),\n\t\t\t\t\tType: pulumi.String(\"grpcMetadata\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(60),\n\t\t\t},\n\t\t\tName: pulumi.String(\"GRPC API test\"),\n\t\t\tMessage: pulumi.String(\"Notify @datadog.user\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"paused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsTest;\nimport com.pulumi.datadog.SyntheticsTestArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestAssertionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListRetryArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListMonitorOptionsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testUptime = new SyntheticsTest(\"testUptime\", SyntheticsTestArgs.builder() \n .name(\"An Uptime test on example.org\")\n .type(\"api\")\n .subtype(\"http\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://www.example.org\")\n .build())\n .requestHeaders(Map.of(\"Content-Type\", \"application/json\"))\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .retry(SyntheticsTestOptionsListRetryArgs.builder()\n .count(2)\n .interval(300)\n .build())\n .monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()\n .renotifyInterval(120)\n .build())\n .build())\n .build());\n\n var testApi = new SyntheticsTest(\"testApi\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"http\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://www.example.org\")\n .build())\n .requestHeaders(Map.ofEntries(\n Map.entry(\"Content-Type\", \"application/json\"),\n Map.entry(\"Authentication\", \"Token: 1234566789\")\n ))\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .retry(SyntheticsTestOptionsListRetryArgs.builder()\n .count(2)\n .interval(300)\n .build())\n .monitorOptions(SyntheticsTestOptionsListMonitorOptionsArgs.builder()\n .renotifyInterval(120)\n .build())\n .build())\n .build());\n\n var testSsl = new SyntheticsTest(\"testSsl\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"ssl\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .build())\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"certificate\")\n .operator(\"isInMoreThan\")\n .target(30)\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\n\n var testTcp = new SyntheticsTest(\"testTcp\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"tcp\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .build())\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"responseTime\")\n .operator(\"lessThan\")\n .target(2000)\n .build())\n .configVariables(SyntheticsTestConfigVariableArgs.builder()\n .type(\"global\")\n .name(\"MY_GLOBAL_VAR\")\n .id(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\n .build());\n\n var testDns = new SyntheticsTest(\"testDns\", SyntheticsTestArgs.builder() \n .name(\"An API test on example.org\")\n .type(\"api\")\n .subtype(\"dns\")\n .status(\"live\")\n .message(\"Notify @pagerduty\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .build())\n .assertions(SyntheticsTestAssertionArgs.builder()\n .type(\"recordSome\")\n .operator(\"is\")\n .property(\"A\")\n .target(\"0.0.0.0\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\n .build());\n\n var testMultiStep = new SyntheticsTest(\"testMultiStep\", SyntheticsTestArgs.builder() \n .name(\"Multistep API test\")\n .type(\"api\")\n .subtype(\"multi\")\n .status(\"live\")\n .locations(\"aws:eu-central-1\")\n .tags( \n \"foo:bar\",\n \"foo\",\n \"env:test\")\n .apiSteps( \n SyntheticsTestApiStepArgs.builder()\n .name(\"An API test on example.org\")\n .subtype(\"http\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://example.org\")\n .build())\n .requestHeaders(Map.ofEntries(\n Map.entry(\"Content-Type\", \"application/json\"),\n Map.entry(\"Authentication\", \"Token: 1234566789\")\n ))\n .build(),\n SyntheticsTestApiStepArgs.builder()\n .name(\"An API test on example.org\")\n .subtype(\"http\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"http://example.org\")\n .build())\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\n\n var testBrowser = new SyntheticsTest(\"testBrowser\", SyntheticsTestArgs.builder() \n .name(\"A Browser test on example.org\")\n .type(\"browser\")\n .status(\"paused\")\n .message(\"Notify @qa\")\n .deviceIds(\"laptop_large\")\n .locations(\"aws:eu-central-1\")\n .tags()\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"https://app.datadoghq.com\")\n .build())\n .browserSteps( \n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Check current url\")\n .type(\"assertCurrentUrl\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .check(\"contains\")\n .value(\"datadoghq\")\n .build())\n .build(),\n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Test a downloaded file\")\n .type(\"assertFileDownload\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .file(serializeJson(\n jsonObject(\n jsonProperty(\"md5\", \"abcdef1234567890\"),\n jsonProperty(\"sizeCheck\", jsonObject(\n jsonProperty(\"type\", \"equals\"),\n jsonProperty(\"value\", 1)\n )),\n jsonProperty(\"nameCheck\", jsonObject(\n jsonProperty(\"type\", \"contains\"),\n jsonProperty(\"value\", \".xls\")\n ))\n )))\n .build())\n .build())\n .browserVariables( \n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"text\")\n .name(\"MY_PATTERN_VAR\")\n .pattern(\"{{numeric(3)}}\")\n .example(\"597\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"email\")\n .name(\"MY_EMAIL_VAR\")\n .pattern(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\")\n .example(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"global\")\n .name(\"MY_GLOBAL_VAR\")\n .id(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(3600)\n .build())\n .build());\n\n var grpc = new SyntheticsTest(\"grpc\", SyntheticsTestArgs.builder() \n .type(\"api\")\n .subtype(\"grpc\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .host(\"google.com\")\n .port(50050)\n .service(\"Hello\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n \"\"\")\n .build())\n .requestMetadata(Map.of(\"header\", \"value\"))\n .assertions( \n SyntheticsTestAssertionArgs.builder()\n .type(\"responseTime\")\n .operator(\"lessThan\")\n .target(\"2000\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .type(\"grpcHealthcheckStatus\")\n .target(1)\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"proto target\")\n .type(\"grpcProto\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"123\")\n .property(\"property\")\n .type(\"grpcMetadata\")\n .build())\n .locations(\"aws:eu-central-1\")\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(60)\n .build())\n .name(\"GRPC API test\")\n .message(\"Notify @datadog.user\")\n .tags( \n \"foo:bar\",\n \"baz\")\n .status(\"paused\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics API test)\n # Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n testUptime:\n type: datadog:SyntheticsTest\n properties:\n name: An Uptime test on example.org\n type: api\n subtype: http\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n method: GET\n url: https://www.example.org\n requestHeaders:\n Content-Type: application/json\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n optionsList:\n tickEvery: 900\n retry:\n count: 2\n interval: 300\n monitorOptions:\n renotifyInterval: 120\n # Example Usage (Authenticated API test)\n # Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n testApi:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: http\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n method: GET\n url: https://www.example.org\n requestHeaders:\n Content-Type: application/json\n Authentication: 'Token: 1234566789'\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n optionsList:\n tickEvery: 900\n retry:\n count: 2\n interval: 300\n monitorOptions:\n renotifyInterval: 120\n # Example Usage (Synthetics SSL test)\n # Create a new Datadog Synthetics API/SSL test on example.org\n testSsl:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: ssl\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n host: example.org\n port: 443\n assertions:\n - type: certificate\n operator: isInMoreThan\n target: 30\n optionsList:\n tickEvery: 900\n acceptSelfSigned: true\n # Example Usage (Synthetics TCP test)\n # Create a new Datadog Synthetics API/TCP test on example.org\n testTcp:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: tcp\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n host: example.org\n port: 443\n assertions:\n - type: responseTime\n operator: lessThan\n target: 2000\n configVariables:\n - type: global\n name: MY_GLOBAL_VAR\n id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2\n optionsList:\n tickEvery: 900\n # Example Usage (Synthetics DNS test)\n # Create a new Datadog Synthetics API/DNS test on example.org\n testDns:\n type: datadog:SyntheticsTest\n properties:\n name: An API test on example.org\n type: api\n subtype: dns\n status: live\n message: Notify @pagerduty\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n requestDefinition:\n host: example.org\n assertions:\n - type: recordSome\n operator: is\n property: A\n target: 0.0.0.0\n optionsList:\n tickEvery: 900\n # Example Usage (Synthetics Multistep API test)\n # Create a new Datadog Synthetics Multistep API test\n testMultiStep:\n type: datadog:SyntheticsTest\n properties:\n name: Multistep API test\n type: api\n subtype: multi\n status: live\n locations:\n - aws:eu-central-1\n tags:\n - foo:bar\n - foo\n - env:test\n apiSteps:\n - name: An API test on example.org\n subtype: http\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n method: GET\n url: https://example.org\n requestHeaders:\n Content-Type: application/json\n Authentication: 'Token: 1234566789'\n - name: An API test on example.org\n subtype: http\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n method: GET\n url: http://example.org\n optionsList:\n tickEvery: 900\n acceptSelfSigned: true\n # Example Usage (Synthetics Browser test)\n # Create a new Datadog Synthetics Browser test starting on https://www.example.org\n testBrowser:\n type: datadog:SyntheticsTest\n properties:\n name: A Browser test on example.org\n type: browser\n status: paused\n message: Notify @qa\n deviceIds:\n - laptop_large\n locations:\n - aws:eu-central-1\n tags: []\n requestDefinition:\n method: GET\n url: https://app.datadoghq.com\n browserSteps:\n - name: Check current url\n type: assertCurrentUrl\n params:\n check: contains\n value: datadoghq\n - name: Test a downloaded file\n type: assertFileDownload\n params:\n file:\n fn::toJSON:\n md5: abcdef1234567890\n sizeCheck:\n type: equals\n value: 1\n nameCheck:\n type: contains\n value: .xls\n browserVariables:\n - type: text\n name: MY_PATTERN_VAR\n pattern: '{{numeric(3)}}'\n example: '597'\n - type: email\n name: MY_EMAIL_VAR\n pattern: jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\n example: jd8-afe-ydv.4546132139@synthetics.dtdg.co\n - type: global\n name: MY_GLOBAL_VAR\n id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2\n optionsList:\n tickEvery: 3600\n # Example Usage (GRPC API test)\n # Create a new Datadog GRPC API test starting on google.org:50050\n grpc:\n type: datadog:SyntheticsTest\n properties:\n type: api\n subtype: grpc\n requestDefinition:\n method: GET\n host: google.com\n port: 50050\n service: Hello\n plainProtoFile: |\n syntax = \"proto3\";\n option java_multiple_files = true;\n option java_package = \"io.grpc.examples.helloworld\";\n option java_outer_classname = \"HelloWorldProto\";\n option objc_class_prefix = \"HLW\";\n package helloworld;\n // The greeting service definition.\n service Greeter {\n \t// Sends a greeting\n \trpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n // The request message containing the user's name.\n message HelloRequest {\n \tstring name = 1;\n }\n // The response message containing the greetings\n message HelloReply {\n \tstring message = 1;\n }\n requestMetadata:\n header: value\n assertions:\n - type: responseTime\n operator: lessThan\n target: '2000'\n - operator: is\n type: grpcHealthcheckStatus\n target: 1\n - operator: is\n target: proto target\n type: grpcProto\n - operator: is\n target: '123'\n property: property\n type: grpcMetadata\n locations:\n - aws:eu-central-1\n optionsList:\n tickEvery: 60\n name: GRPC API test\n message: Notify @datadog.user\n tags:\n - foo:bar\n - baz\n status: paused\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSynthetics tests can be imported using their public string ID, e.g.\n\n ```sh\n $ pulumi import datadog:index/syntheticsTest:SyntheticsTest fizz abc-123-xyz\n```\n\n ", "properties": { "apiSteps": { "type": "array", @@ -78888,7 +78888,7 @@ } }, "datadog:index/teamMembership:TeamMembership": { - "description": "Provides a Datadog TeamMembership resource. This can be used to create and manage Datadog team_membership.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst fooTeam = new datadog.Team(\"fooTeam\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\nconst fooUser = new datadog.User(\"fooUser\", {email: \"new@example.com\"});\n// Create new team_membership resource\nconst fooTeamMembership = new datadog.TeamMembership(\"fooTeamMembership\", {\n teamId: fooTeam.id,\n userId: fooUser.id,\n role: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo_team = datadog.Team(\"fooTeam\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\nfoo_user = datadog.User(\"fooUser\", email=\"new@example.com\")\n# Create new team_membership resource\nfoo_team_membership = datadog.TeamMembership(\"fooTeamMembership\",\n team_id=foo_team.id,\n user_id=foo_user.id,\n role=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooTeam = new Datadog.Team(\"fooTeam\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n var fooUser = new Datadog.User(\"fooUser\", new()\n {\n Email = \"new@example.com\",\n });\n\n // Create new team_membership resource\n var fooTeamMembership = new Datadog.TeamMembership(\"fooTeamMembership\", new()\n {\n TeamId = fooTeam.Id,\n UserId = fooUser.Id,\n Role = \"admin\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooTeam, err := datadog.NewTeam(ctx, \"fooTeam\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooUser, err := datadog.NewUser(ctx, \"fooUser\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewTeamMembership(ctx, \"fooTeamMembership\", \u0026datadog.TeamMembershipArgs{\n\t\t\tTeamId: fooTeam.ID(),\n\t\t\tUserId: fooUser.ID(),\n\t\t\tRole: pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport com.pulumi.datadog.TeamMembership;\nimport com.pulumi.datadog.TeamMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooTeam = new Team(\"fooTeam\", TeamArgs.builder() \n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder() \n .email(\"new@example.com\")\n .build());\n\n var fooTeamMembership = new TeamMembership(\"fooTeamMembership\", TeamMembershipArgs.builder() \n .teamId(fooTeam.id())\n .userId(fooUser.id())\n .role(\"admin\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooTeam:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n fooUser:\n type: datadog:User\n properties:\n email: new@example.com\n # Create new team_membership resource\n fooTeamMembership:\n type: datadog:TeamMembership\n properties:\n teamId: ${fooTeam.id}\n userId: ${fooUser.id}\n role: admin\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource is imported using team_id and user_id seperated by `:`.\n\n ```sh\n $ pulumi import datadog:index/teamMembership:TeamMembership foo \"${team_id}:${user_id}\"\n```\n\n ", + "description": "Provides a Datadog TeamMembership resource. This can be used to create and manage Datadog team_membership.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst fooTeam = new datadog.Team(\"fooTeam\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\nconst fooUser = new datadog.User(\"fooUser\", {email: \"new@example.com\"});\n// Create new team_membership resource\nconst fooTeamMembership = new datadog.TeamMembership(\"fooTeamMembership\", {\n teamId: fooTeam.id,\n userId: fooUser.id,\n role: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo_team = datadog.Team(\"fooTeam\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\nfoo_user = datadog.User(\"fooUser\", email=\"new@example.com\")\n# Create new team_membership resource\nfoo_team_membership = datadog.TeamMembership(\"fooTeamMembership\",\n team_id=foo_team.id,\n user_id=foo_user.id,\n role=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooTeam = new Datadog.Team(\"fooTeam\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n var fooUser = new Datadog.User(\"fooUser\", new()\n {\n Email = \"new@example.com\",\n });\n\n // Create new team_membership resource\n var fooTeamMembership = new Datadog.TeamMembership(\"fooTeamMembership\", new()\n {\n TeamId = fooTeam.Id,\n UserId = fooUser.Id,\n Role = \"admin\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooTeam, err := datadog.NewTeam(ctx, \"fooTeam\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooUser, err := datadog.NewUser(ctx, \"fooUser\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new team_membership resource\n\t\t_, err = datadog.NewTeamMembership(ctx, \"fooTeamMembership\", \u0026datadog.TeamMembershipArgs{\n\t\t\tTeamId: fooTeam.ID(),\n\t\t\tUserId: fooUser.ID(),\n\t\t\tRole: pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport com.pulumi.datadog.TeamMembership;\nimport com.pulumi.datadog.TeamMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooTeam = new Team(\"fooTeam\", TeamArgs.builder() \n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder() \n .email(\"new@example.com\")\n .build());\n\n var fooTeamMembership = new TeamMembership(\"fooTeamMembership\", TeamMembershipArgs.builder() \n .teamId(fooTeam.id())\n .userId(fooUser.id())\n .role(\"admin\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooTeam:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n fooUser:\n type: datadog:User\n properties:\n email: new@example.com\n # Create new team_membership resource\n fooTeamMembership:\n type: datadog:TeamMembership\n properties:\n teamId: ${fooTeam.id}\n userId: ${fooUser.id}\n role: admin\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource is imported using team_id and user_id seperated by `:`.\n\n ```sh\n $ pulumi import datadog:index/teamMembership:TeamMembership foo \"${team_id}:${user_id}\"\n```\n\n ", "properties": { "role": { "type": "string", @@ -79004,7 +79004,7 @@ } }, "datadog:index/user:User": { - "description": "Provides a Datadog user resource. This can be used to create and manage Datadog users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog user\nconst foo = new datadog.User(\"foo\", {\n email: \"new@example.com\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog user\nfoo = datadog.User(\"foo\",\n email=\"new@example.com\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog user\n var foo = new Datadog.User(\"foo\", new()\n {\n Email = \"new@example.com\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewUser(ctx, \"foo\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t*pulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n var foo = new User(\"foo\", UserArgs.builder() \n .email(\"new@example.com\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog user\n foo:\n type: datadog:User\n properties:\n email: new@example.com\n roles:\n - ${roRole.id}\nvariables:\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/user:User example_user 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n ", + "description": "Provides a Datadog user resource. This can be used to create and manage Datadog users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog user\nconst foo = new datadog.User(\"foo\", {\n email: \"new@example.com\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog user\nfoo = datadog.User(\"foo\",\n email=\"new@example.com\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog user\n var foo = new Datadog.User(\"foo\", new()\n {\n Email = \"new@example.com\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog user\n\t\t_, err = datadog.NewUser(ctx, \"foo\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t*pulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n var foo = new User(\"foo\", UserArgs.builder() \n .email(\"new@example.com\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog user\n foo:\n type: datadog:User\n properties:\n email: new@example.com\n roles:\n - ${roRole.id}\nvariables:\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/user:User example_user 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n ", "properties": { "disabled": { "type": "boolean", @@ -79110,7 +79110,7 @@ } }, "datadog:index/webhook:Webhook": { - "description": "Provides a Datadog webhook resource. This can be used to create and manage Datadog webhooks.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog webhook\nconst foo = new datadog.Webhook(\"foo\", {\n name: \"test-webhook\",\n url: \"example.com\",\n encodeAs: \"json\",\n customHeaders: JSON.stringify({\n custom: \"header\",\n }),\n payload: JSON.stringify({\n custom: \"payload\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Create a new Datadog webhook\nfoo = datadog.Webhook(\"foo\",\n name=\"test-webhook\",\n url=\"example.com\",\n encode_as=\"json\",\n custom_headers=json.dumps({\n \"custom\": \"header\",\n }),\n payload=json.dumps({\n \"custom\": \"payload\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog webhook\n var foo = new Datadog.Webhook(\"foo\", new()\n {\n Name = \"test-webhook\",\n Url = \"example.com\",\n EncodeAs = \"json\",\n CustomHeaders = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"header\",\n }),\n Payload = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"payload\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"header\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"payload\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = datadog.NewWebhook(ctx, \"foo\", \u0026datadog.WebhookArgs{\n\t\t\tName: pulumi.String(\"test-webhook\"),\n\t\t\tUrl: pulumi.String(\"example.com\"),\n\t\t\tEncodeAs: pulumi.String(\"json\"),\n\t\t\tCustomHeaders: pulumi.String(json0),\n\t\t\tPayload: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Webhook;\nimport com.pulumi.datadog.WebhookArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Webhook(\"foo\", WebhookArgs.builder() \n .name(\"test-webhook\")\n .url(\"example.com\")\n .encodeAs(\"json\")\n .customHeaders(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"header\")\n )))\n .payload(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"payload\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog webhook\n foo:\n type: datadog:Webhook\n properties:\n name: test-webhook\n url: example.com\n encodeAs: json\n customHeaders:\n fn::toJSON:\n custom: header\n payload:\n fn::toJSON:\n custom: payload\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/webhook:Webhook foo example-webhook\n```\n\n ", + "description": "Provides a Datadog webhook resource. This can be used to create and manage Datadog webhooks.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Create a new Datadog webhook\nconst foo = new datadog.Webhook(\"foo\", {\n name: \"test-webhook\",\n url: \"example.com\",\n encodeAs: \"json\",\n customHeaders: JSON.stringify({\n custom: \"header\",\n }),\n payload: JSON.stringify({\n custom: \"payload\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Create a new Datadog webhook\nfoo = datadog.Webhook(\"foo\",\n name=\"test-webhook\",\n url=\"example.com\",\n encode_as=\"json\",\n custom_headers=json.dumps({\n \"custom\": \"header\",\n }),\n payload=json.dumps({\n \"custom\": \"payload\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog webhook\n var foo = new Datadog.Webhook(\"foo\", new()\n {\n Name = \"test-webhook\",\n Url = \"example.com\",\n EncodeAs = \"json\",\n CustomHeaders = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"header\",\n }),\n Payload = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"payload\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"header\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"payload\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// Create a new Datadog webhook\n\t\t_, err = datadog.NewWebhook(ctx, \"foo\", \u0026datadog.WebhookArgs{\n\t\t\tName: pulumi.String(\"test-webhook\"),\n\t\t\tUrl: pulumi.String(\"example.com\"),\n\t\t\tEncodeAs: pulumi.String(\"json\"),\n\t\t\tCustomHeaders: pulumi.String(json0),\n\t\t\tPayload: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Webhook;\nimport com.pulumi.datadog.WebhookArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Webhook(\"foo\", WebhookArgs.builder() \n .name(\"test-webhook\")\n .url(\"example.com\")\n .encodeAs(\"json\")\n .customHeaders(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"header\")\n )))\n .payload(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"payload\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog webhook\n foo:\n type: datadog:Webhook\n properties:\n name: test-webhook\n url: example.com\n encodeAs: json\n customHeaders:\n fn::toJSON:\n custom: header\n payload:\n fn::toJSON:\n custom: payload\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n```sh\n $ pulumi import datadog:index/webhook:Webhook foo example-webhook\n```\n\n ", "properties": { "customHeaders": { "type": "string", @@ -79329,7 +79329,7 @@ } }, "datadog:pagerduty/integration:Integration": { - "description": "Provides a Datadog - PagerDuty resource. This can be used to create and manage Datadog - PagerDuty integration. See also [PagerDuty Integration Guide](https://www.pagerduty.com/docs/guides/datadog-integration-guide/).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Services as Individual Resources\nconst pd = new datadog.pagerduty.Integration(\"pd\", {\n apiToken: \"38457822378273432587234242874\",\n schedules: [\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain: \"ddog\",\n});\nconst testingFoo = new datadog.pagerduty.ServiceObject(\"testingFoo\", {\n serviceKey: \"9876543210123456789\",\n serviceName: \"testing_foo\",\n}, {\n dependsOn: [\"datadog_integration_pagerduty.pd\"],\n});\nconst testingBar = new datadog.pagerduty.ServiceObject(\"testingBar\", {\n serviceKey: \"54321098765432109876\",\n serviceName: \"testing_bar\",\n}, {\n dependsOn: [\"datadog_integration_pagerduty.pd\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Services as Individual Resources\npd = datadog.pagerduty.Integration(\"pd\",\n api_token=\"38457822378273432587234242874\",\n schedules=[\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain=\"ddog\")\ntesting_foo = datadog.pagerduty.ServiceObject(\"testingFoo\",\n service_key=\"9876543210123456789\",\n service_name=\"testing_foo\",\n opts=pulumi.ResourceOptions(depends_on=[\"datadog_integration_pagerduty.pd\"]))\ntesting_bar = datadog.pagerduty.ServiceObject(\"testingBar\",\n service_key=\"54321098765432109876\",\n service_name=\"testing_bar\",\n opts=pulumi.ResourceOptions(depends_on=[\"datadog_integration_pagerduty.pd\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Services as Individual Resources\n var pd = new Datadog.PagerDuty.Integration(\"pd\", new()\n {\n ApiToken = \"38457822378273432587234242874\",\n Schedules = new[]\n {\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n },\n Subdomain = \"ddog\",\n });\n\n var testingFoo = new Datadog.PagerDuty.ServiceObject(\"testingFoo\", new()\n {\n ServiceKey = \"9876543210123456789\",\n ServiceName = \"testing_foo\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"datadog_integration_pagerduty.pd\",\n },\n });\n\n var testingBar = new Datadog.PagerDuty.ServiceObject(\"testingBar\", new()\n {\n ServiceKey = \"54321098765432109876\",\n ServiceName = \"testing_bar\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"datadog_integration_pagerduty.pd\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pagerduty.NewIntegration(ctx, \"pd\", \u0026pagerduty.IntegrationArgs{\n\t\t\tApiToken: pulumi.String(\"38457822378273432587234242874\"),\n\t\t\tSchedules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X123VF\"),\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X321XX\"),\n\t\t\t},\n\t\t\tSubdomain: pulumi.String(\"ddog\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testingFoo\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceKey: pulumi.String(\"9876543210123456789\"),\n\t\t\tServiceName: pulumi.String(\"testing_foo\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"datadog_integration_pagerduty.pd\"),\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testingBar\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceKey: pulumi.String(\"54321098765432109876\"),\n\t\t\tServiceName: pulumi.String(\"testing_bar\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"datadog_integration_pagerduty.pd\"),\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.pagerduty.Integration;\nimport com.pulumi.datadog.pagerduty.IntegrationArgs;\nimport com.pulumi.datadog.pagerduty.ServiceObject;\nimport com.pulumi.datadog.pagerduty.ServiceObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pd = new Integration(\"pd\", IntegrationArgs.builder() \n .apiToken(\"38457822378273432587234242874\")\n .schedules( \n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\")\n .subdomain(\"ddog\")\n .build());\n\n var testingFoo = new ServiceObject(\"testingFoo\", ServiceObjectArgs.builder() \n .serviceKey(\"9876543210123456789\")\n .serviceName(\"testing_foo\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"datadog_integration_pagerduty.pd\")\n .build());\n\n var testingBar = new ServiceObject(\"testingBar\", ServiceObjectArgs.builder() \n .serviceKey(\"54321098765432109876\")\n .serviceName(\"testing_bar\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"datadog_integration_pagerduty.pd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Services as Individual Resources\n pd:\n type: datadog:pagerduty:Integration\n properties:\n apiToken: '38457822378273432587234242874'\n schedules:\n - https://ddog.pagerduty.com/schedules/X123VF\n - https://ddog.pagerduty.com/schedules/X321XX\n subdomain: ddog\n testingFoo:\n type: datadog:pagerduty:ServiceObject\n properties:\n serviceKey: '9876543210123456789'\n serviceName: testing_foo\n options:\n dependson:\n - datadog_integration_pagerduty.pd\n testingBar:\n type: datadog:pagerduty:ServiceObject\n properties:\n serviceKey: '54321098765432109876'\n serviceName: testing_bar\n options:\n dependson:\n - datadog_integration_pagerduty.pd\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Provides a Datadog - PagerDuty resource. This can be used to create and manage Datadog - PagerDuty integration. See also [PagerDuty Integration Guide](https://www.pagerduty.com/docs/guides/datadog-integration-guide/).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Services as Individual Resources\nconst pd = new datadog.pagerduty.Integration(\"pd\", {\n apiToken: \"38457822378273432587234242874\",\n schedules: [\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain: \"ddog\",\n});\nconst testingFoo = new datadog.pagerduty.ServiceObject(\"testingFoo\", {\n serviceKey: \"9876543210123456789\",\n serviceName: \"testing_foo\",\n}, {\n dependsOn: [\"datadog_integration_pagerduty.pd\"],\n});\nconst testingBar = new datadog.pagerduty.ServiceObject(\"testingBar\", {\n serviceKey: \"54321098765432109876\",\n serviceName: \"testing_bar\",\n}, {\n dependsOn: [\"datadog_integration_pagerduty.pd\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Services as Individual Resources\npd = datadog.pagerduty.Integration(\"pd\",\n api_token=\"38457822378273432587234242874\",\n schedules=[\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain=\"ddog\")\ntesting_foo = datadog.pagerduty.ServiceObject(\"testingFoo\",\n service_key=\"9876543210123456789\",\n service_name=\"testing_foo\",\n opts=pulumi.ResourceOptions(depends_on=[\"datadog_integration_pagerduty.pd\"]))\ntesting_bar = datadog.pagerduty.ServiceObject(\"testingBar\",\n service_key=\"54321098765432109876\",\n service_name=\"testing_bar\",\n opts=pulumi.ResourceOptions(depends_on=[\"datadog_integration_pagerduty.pd\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Services as Individual Resources\n var pd = new Datadog.PagerDuty.Integration(\"pd\", new()\n {\n ApiToken = \"38457822378273432587234242874\",\n Schedules = new[]\n {\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n },\n Subdomain = \"ddog\",\n });\n\n var testingFoo = new Datadog.PagerDuty.ServiceObject(\"testingFoo\", new()\n {\n ServiceKey = \"9876543210123456789\",\n ServiceName = \"testing_foo\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"datadog_integration_pagerduty.pd\",\n },\n });\n\n var testingBar = new Datadog.PagerDuty.ServiceObject(\"testingBar\", new()\n {\n ServiceKey = \"54321098765432109876\",\n ServiceName = \"testing_bar\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"datadog_integration_pagerduty.pd\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Services as Individual Resources\n\t\t_, err := pagerduty.NewIntegration(ctx, \"pd\", \u0026pagerduty.IntegrationArgs{\n\t\t\tApiToken: pulumi.String(\"38457822378273432587234242874\"),\n\t\t\tSchedules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X123VF\"),\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X321XX\"),\n\t\t\t},\n\t\t\tSubdomain: pulumi.String(\"ddog\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testingFoo\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceKey: pulumi.String(\"9876543210123456789\"),\n\t\t\tServiceName: pulumi.String(\"testing_foo\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"datadog_integration_pagerduty.pd\"),\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testingBar\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceKey: pulumi.String(\"54321098765432109876\"),\n\t\t\tServiceName: pulumi.String(\"testing_bar\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"datadog_integration_pagerduty.pd\"),\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.pagerduty.Integration;\nimport com.pulumi.datadog.pagerduty.IntegrationArgs;\nimport com.pulumi.datadog.pagerduty.ServiceObject;\nimport com.pulumi.datadog.pagerduty.ServiceObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pd = new Integration(\"pd\", IntegrationArgs.builder() \n .apiToken(\"38457822378273432587234242874\")\n .schedules( \n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\")\n .subdomain(\"ddog\")\n .build());\n\n var testingFoo = new ServiceObject(\"testingFoo\", ServiceObjectArgs.builder() \n .serviceKey(\"9876543210123456789\")\n .serviceName(\"testing_foo\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"datadog_integration_pagerduty.pd\")\n .build());\n\n var testingBar = new ServiceObject(\"testingBar\", ServiceObjectArgs.builder() \n .serviceKey(\"54321098765432109876\")\n .serviceName(\"testing_bar\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"datadog_integration_pagerduty.pd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Services as Individual Resources\n pd:\n type: datadog:pagerduty:Integration\n properties:\n apiToken: '38457822378273432587234242874'\n schedules:\n - https://ddog.pagerduty.com/schedules/X123VF\n - https://ddog.pagerduty.com/schedules/X321XX\n subdomain: ddog\n testingFoo:\n type: datadog:pagerduty:ServiceObject\n properties:\n serviceKey: '9876543210123456789'\n serviceName: testing_foo\n options:\n dependson:\n - datadog_integration_pagerduty.pd\n testingBar:\n type: datadog:pagerduty:ServiceObject\n properties:\n serviceKey: '54321098765432109876'\n serviceName: testing_bar\n options:\n dependson:\n - datadog_integration_pagerduty.pd\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "apiToken": { "type": "string", @@ -79743,7 +79743,7 @@ } }, "datadog:index/getDashboardList:getDashboardList": { - "description": "Use this data source to retrieve information about an existing dashboard list, for use in other resources. In particular, it can be used in a dashboard to register it in the list.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst test = datadog.getDashboardList({\n name: \"My super list\",\n});\n// Create a dashboard and register it in the list above.\nconst time = new datadog.Dashboard(\"time\", {\n dashboardLists: [test.then(test =\u003e test.id)],\n description: \"Created using the Datadog provider in Pulumi\",\n isReadOnly: true,\n layoutType: \"ordered\",\n title: \"TF Test Layout Dashboard\",\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n liveSpan: \"1h\",\n title: \"Widget Title\",\n vizType: \"timeseries\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest = datadog.get_dashboard_list(name=\"My super list\")\n# Create a dashboard and register it in the list above.\ntime = datadog.Dashboard(\"time\",\n dashboard_lists=[test.id],\n description=\"Created using the Datadog provider in Pulumi\",\n is_read_only=True,\n layout_type=\"ordered\",\n title=\"TF Test Layout Dashboard\",\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n live_span=\"1h\",\n title=\"Widget Title\",\n viz_type=\"timeseries\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Datadog.GetDashboardList.Invoke(new()\n {\n Name = \"My super list\",\n });\n\n // Create a dashboard and register it in the list above.\n var time = new Datadog.Dashboard(\"time\", new()\n {\n DashboardLists = new[]\n {\n test.Apply(getDashboardListResult =\u003e getDashboardListResult.Id),\n },\n Description = \"Created using the Datadog provider in Pulumi\",\n IsReadOnly = true,\n LayoutType = \"ordered\",\n Title = \"TF Test Layout Dashboard\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n LiveSpan = \"1h\",\n Title = \"Widget Title\",\n VizType = \"timeseries\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := datadog.LookupDashboardList(ctx, \u0026datadog.LookupDashboardListArgs{\n\t\t\tName: \"My super list\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tDashboardLists: pulumi.IntArray{\n\t\t\t\t*pulumi.String(test.Id),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetDashboardListArgs;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DatadogFunctions.getDashboardList(GetDashboardListArgs.builder()\n .name(\"My super list\")\n .build());\n\n var time = new Dashboard(\"time\", DashboardArgs.builder() \n .dashboardLists(test.applyValue(getDashboardListResult -\u003e getDashboardListResult.id()))\n .description(\"Created using the Datadog provider in Pulumi\")\n .isReadOnly(true)\n .layoutType(\"ordered\")\n .title(\"TF Test Layout Dashboard\")\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .liveSpan(\"1h\")\n .title(\"Widget Title\")\n .vizType(\"timeseries\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a dashboard and register it in the list above.\n time:\n type: datadog:Dashboard\n properties:\n dashboardLists:\n - ${test.id}\n description: Created using the Datadog provider in Pulumi\n isReadOnly: true\n layoutType: ordered\n title: TF Test Layout Dashboard\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n liveSpan: 1h\n title: Widget Title\n vizType: timeseries\nvariables:\n test:\n fn::invoke:\n Function: datadog:getDashboardList\n Arguments:\n name: My super list\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to retrieve information about an existing dashboard list, for use in other resources. In particular, it can be used in a dashboard to register it in the list.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst test = datadog.getDashboardList({\n name: \"My super list\",\n});\n// Create a dashboard and register it in the list above.\nconst time = new datadog.Dashboard(\"time\", {\n dashboardLists: [test.then(test =\u003e test.id)],\n description: \"Created using the Datadog provider in Pulumi\",\n isReadOnly: true,\n layoutType: \"ordered\",\n title: \"TF Test Layout Dashboard\",\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n liveSpan: \"1h\",\n title: \"Widget Title\",\n vizType: \"timeseries\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest = datadog.get_dashboard_list(name=\"My super list\")\n# Create a dashboard and register it in the list above.\ntime = datadog.Dashboard(\"time\",\n dashboard_lists=[test.id],\n description=\"Created using the Datadog provider in Pulumi\",\n is_read_only=True,\n layout_type=\"ordered\",\n title=\"TF Test Layout Dashboard\",\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n live_span=\"1h\",\n title=\"Widget Title\",\n viz_type=\"timeseries\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Datadog.GetDashboardList.Invoke(new()\n {\n Name = \"My super list\",\n });\n\n // Create a dashboard and register it in the list above.\n var time = new Datadog.Dashboard(\"time\", new()\n {\n DashboardLists = new[]\n {\n test.Apply(getDashboardListResult =\u003e getDashboardListResult.Id),\n },\n Description = \"Created using the Datadog provider in Pulumi\",\n IsReadOnly = true,\n LayoutType = \"ordered\",\n Title = \"TF Test Layout Dashboard\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n LiveSpan = \"1h\",\n Title = \"Widget Title\",\n VizType = \"timeseries\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := datadog.LookupDashboardList(ctx, \u0026datadog.LookupDashboardListArgs{\n\t\t\tName: \"My super list\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a dashboard and register it in the list above.\n\t\t_, err = datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tDashboardLists: pulumi.IntArray{\n\t\t\t\t*pulumi.String(test.Id),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetDashboardListArgs;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DatadogFunctions.getDashboardList(GetDashboardListArgs.builder()\n .name(\"My super list\")\n .build());\n\n var time = new Dashboard(\"time\", DashboardArgs.builder() \n .dashboardLists(test.applyValue(getDashboardListResult -\u003e getDashboardListResult.id()))\n .description(\"Created using the Datadog provider in Pulumi\")\n .isReadOnly(true)\n .layoutType(\"ordered\")\n .title(\"TF Test Layout Dashboard\")\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .liveSpan(\"1h\")\n .title(\"Widget Title\")\n .vizType(\"timeseries\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a dashboard and register it in the list above.\n time:\n type: datadog:Dashboard\n properties:\n dashboardLists:\n - ${test.id}\n description: Created using the Datadog provider in Pulumi\n isReadOnly: true\n layoutType: ordered\n title: TF Test Layout Dashboard\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n liveSpan: 1h\n title: Widget Title\n vizType: timeseries\nvariables:\n test:\n fn::invoke:\n Function: datadog:getDashboardList\n Arguments:\n name: My super list\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDashboardList.\n", "properties": { @@ -80105,7 +80105,7 @@ } }, "datadog:index/getLogsPipelines:getLogsPipelines": { - "description": "Use this data source to list all existing logs pipelines for use in other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst pipelines = datadog.getLogsPipelines({});\n// Using data source to set pipeline order\nconst lpo = new datadog.LogsPipelineOrder(\"lpo\", {\n name: \"lpo\",\n pipelines: pipelines.then(pipelines =\u003e .map(pipeline =\u003e (pipeline.id))),\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\npipelines = datadog.get_logs_pipelines()\n# Using data source to set pipeline order\nlpo = datadog.LogsPipelineOrder(\"lpo\",\n name=\"lpo\",\n pipelines=[pipeline.id for pipeline in pipelines.logs_pipelines])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelines = Datadog.GetLogsPipelines.Invoke();\n\n // Using data source to set pipeline order\n var lpo = new Datadog.LogsPipelineOrder(\"lpo\", new()\n {\n Name = \"lpo\",\n Pipelines = .Select(pipeline =\u003e \n {\n return pipeline.Id;\n }).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpipelines, err := datadog.GetLogsPipelines(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewLogsPipelineOrder(ctx, \"lpo\", \u0026datadog.LogsPipelineOrderArgs{\n\t\t\tName: pulumi.String(\"lpo\"),\n\t\t\tPipelines: \"TODO: For expression\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to list all existing logs pipelines for use in other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst pipelines = datadog.getLogsPipelines({});\n// Using data source to set pipeline order\nconst lpo = new datadog.LogsPipelineOrder(\"lpo\", {\n name: \"lpo\",\n pipelines: pipelines.then(pipelines =\u003e .map(pipeline =\u003e (pipeline.id))),\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\npipelines = datadog.get_logs_pipelines()\n# Using data source to set pipeline order\nlpo = datadog.LogsPipelineOrder(\"lpo\",\n name=\"lpo\",\n pipelines=[pipeline.id for pipeline in pipelines.logs_pipelines])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelines = Datadog.GetLogsPipelines.Invoke();\n\n // Using data source to set pipeline order\n var lpo = new Datadog.LogsPipelineOrder(\"lpo\", new()\n {\n Name = \"lpo\",\n Pipelines = .Select(pipeline =\u003e \n {\n return pipeline.Id;\n }).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpipelines, err := datadog.GetLogsPipelines(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using data source to set pipeline order\n\t\t_, err = datadog.NewLogsPipelineOrder(ctx, \"lpo\", \u0026datadog.LogsPipelineOrderArgs{\n\t\t\tName: pulumi.String(\"lpo\"),\n\t\t\tPipelines: \"TODO: For expression\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getLogsPipelines.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index dc2f9f480..fb5b3a050 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -3,9 +3,9 @@ module github.com/pulumi/pulumi-datadog/provider/v4 go 1.21 require ( - github.com/pulumi/pulumi-terraform-bridge/pf v0.27.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.74.0 - github.com/pulumi/pulumi/sdk/v3 v3.105.0 + github.com/pulumi/pulumi-terraform-bridge/pf v0.29.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.76.0 + github.com/pulumi/pulumi/sdk/v3 v3.107.0 github.com/terraform-providers/terraform-provider-datadog v0.0.0 ) @@ -184,9 +184,9 @@ require ( github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect github.com/pulumi/pulumi-java/pkg v0.9.9 // indirect - github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.7 // indirect + github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect github.com/pulumi/pulumi-yaml v1.5.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.105.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.107.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index 083bd253e..958b72a47 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2207,18 +2207,18 @@ github.com/pulumi/providertest v0.0.10 h1:bx77G0JYPO2Alf/SHRP05XpAYMrboKJkMIVkbF github.com/pulumi/providertest v0.0.10/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= github.com/pulumi/pulumi-java/pkg v0.9.9 h1:F3xJUtMFDVrTGCxb7Rh2Q8s6tj7gMfM5pcoUthz7vFY= github.com/pulumi/pulumi-java/pkg v0.9.9/go.mod h1:LVF1zeg3UkToHWxb67V+zEIxQc3EdMnlot5NWSt+FpA= -github.com/pulumi/pulumi-terraform-bridge/pf v0.27.0 h1:D9XAlpWh2Ai65HrBsWNFvJbdS1kWo0aoiPl/T7wHSk0= -github.com/pulumi/pulumi-terraform-bridge/pf v0.27.0/go.mod h1:bxg00rjoF8jhIN9EIdwe+ptl+Ia3/Syb0ZEDCBh0CIw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.74.0 h1:cVsqcIJqgCosq9ib0rUyUBLEr3Mamz138JA7gqN21c8= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.74.0/go.mod h1:WOKqq+pzEXcfoXbGPd4weBFIY6RQjzlKO365LPHKrB8= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.7 h1:Z9vmfVTW0QtJrWh+DRR3UKiRZX23f45lFtdhQiUHEqE= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.7/go.mod h1:T9zHpTHyVz2EyobzByFFpjfqgGtXO4C4bNqC0j29D2I= +github.com/pulumi/pulumi-terraform-bridge/pf v0.29.0 h1:4rdkNurOR9wd0efLxJGWXZZQUIvQsWS9tDlHqWqzimM= +github.com/pulumi/pulumi-terraform-bridge/pf v0.29.0/go.mod h1:JpjEhF1ua4lIYhprwsWKTx3xcBTCH/7LdXrvshwTze8= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.76.0 h1:o8XQDN0KH1LE1SNYjk512HdQujxmnOVhMp4mlqIGqVo= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.76.0/go.mod h1:iSQ4IXK9AD/ne+pFcR+kqtrEuOD43/1f8jugbYWvt4c= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= github.com/pulumi/pulumi-yaml v1.5.0 h1:HfXu+WSFNpycref9CK935cViYJzXwSgHGWM/RepyrW0= github.com/pulumi/pulumi-yaml v1.5.0/go.mod h1:AvKSmEQv2EkPbpvAQroR1eP1LkJGC8z5NDM34rVWOtg= -github.com/pulumi/pulumi/pkg/v3 v3.105.0 h1:bJG1vUiYH2gDF1pfBKlIABDNoJD2LvU1LmjjL+EbvuM= -github.com/pulumi/pulumi/pkg/v3 v3.105.0/go.mod h1:eZAFEFOwE/skElTfwetfyTxPebmWr5vOS5NSU9XwlVw= -github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= -github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= +github.com/pulumi/pulumi/pkg/v3 v3.107.0 h1:HRyIl1c9ur0PVQW+GuFL1APBEuGa/fQQMp3F+WluxW8= +github.com/pulumi/pulumi/pkg/v3 v3.107.0/go.mod h1:7edfZu4FlrXdIn4339tJ+SQX5VKGqbFntmpc8cai0Zg= +github.com/pulumi/pulumi/sdk/v3 v3.107.0 h1:bef+ayh9+4KkAqXih4EjlHfQXRY24NWPwWBIQhBxTjg= +github.com/pulumi/pulumi/sdk/v3 v3.107.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= diff --git a/sdk/go.mod b/sdk/go.mod index a1277472d..f570e5167 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.105.0 + github.com/pulumi/pulumi/sdk/v3 v3.107.0 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 6b1732e49..e0318b579 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -148,8 +148,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/sdk/v3 v3.105.0 h1:OKEeubZigWyQVnZS6udnFnZHZ/8OWXuUYv9ir3OY+vs= -github.com/pulumi/pulumi/sdk/v3 v3.105.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= +github.com/pulumi/pulumi/sdk/v3 v3.107.0 h1:bef+ayh9+4KkAqXih4EjlHfQXRY24NWPwWBIQhBxTjg= +github.com/pulumi/pulumi/sdk/v3 v3.107.0/go.mod h1:Ml3rpGfyZlI4zQCG7LN2XDSmH4XUNYdyBwJ3yEr/OpI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/go/datadog/apiKey.go b/sdk/go/datadog/apiKey.go index 7c77160c3..d9a70268c 100644 --- a/sdk/go/datadog/apiKey.go +++ b/sdk/go/datadog/apiKey.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog API Key // _, err := datadog.NewApiKey(ctx, "foo", &datadog.ApiKeyArgs{ // Name: pulumi.String("foo-application"), // }) diff --git a/sdk/go/datadog/apmRetentionFilter.go b/sdk/go/datadog/apmRetentionFilter.go index a392abf49..82a98f0b2 100644 --- a/sdk/go/datadog/apmRetentionFilter.go +++ b/sdk/go/datadog/apmRetentionFilter.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create APM retention filter // _, err := datadog.NewApmRetentionFilter(ctx, "foo", &datadog.ApmRetentionFilterArgs{ // Enabled: pulumi.Bool(false), // Filter: &datadog.ApmRetentionFilterFilterArgs{ diff --git a/sdk/go/datadog/applicationKey.go b/sdk/go/datadog/applicationKey.go index d5d837b6f..5e97f02fb 100644 --- a/sdk/go/datadog/applicationKey.go +++ b/sdk/go/datadog/applicationKey.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog Application Key // _, err := datadog.NewApplicationKey(ctx, "foo", &datadog.ApplicationKeyArgs{ // Name: pulumi.String("foo-application"), // }) diff --git a/sdk/go/datadog/authnMapping.go b/sdk/go/datadog/authnMapping.go index 88ae6f9e4..07ea225b5 100644 --- a/sdk/go/datadog/authnMapping.go +++ b/sdk/go/datadog/authnMapping.go @@ -34,6 +34,7 @@ import ( // if err != nil { // return err // } +// // Create a new AuthN mapping // _, err = datadog.NewAuthnMapping(ctx, "devRoRoleMapping", &datadog.AuthnMappingArgs{ // Key: pulumi.String("Member-of"), // Value: pulumi.String("Development"), diff --git a/sdk/go/datadog/aws/integration.go b/sdk/go/datadog/aws/integration.go index dda55ab65..4aadbb9cb 100644 --- a/sdk/go/datadog/aws/integration.go +++ b/sdk/go/datadog/aws/integration.go @@ -27,6 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog - Amazon Web Services integration // _, err := aws.NewIntegration(ctx, "sandbox", &aws.IntegrationArgs{ // AccountId: pulumi.String("1234567890"), // AccountSpecificNamespaceRules: pulumi.Map{ diff --git a/sdk/go/datadog/aws/integrationLambdaArn.go b/sdk/go/datadog/aws/integrationLambdaArn.go index 0af0d1658..936ae5fd9 100644 --- a/sdk/go/datadog/aws/integrationLambdaArn.go +++ b/sdk/go/datadog/aws/integrationLambdaArn.go @@ -30,6 +30,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog - Amazon Web Services integration Lambda ARN // _, err := aws.NewIntegrationLambdaArn(ctx, "mainCollector", &aws.IntegrationLambdaArnArgs{ // AccountId: pulumi.String("1234567890"), // LambdaArn: pulumi.String("arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder"), diff --git a/sdk/go/datadog/aws/integrationLogCollection.go b/sdk/go/datadog/aws/integrationLogCollection.go index 13dc5da99..60db93433 100644 --- a/sdk/go/datadog/aws/integrationLogCollection.go +++ b/sdk/go/datadog/aws/integrationLogCollection.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog - Amazon Web Services integration log collection // _, err := aws.NewIntegrationLogCollection(ctx, "main", &aws.IntegrationLogCollectionArgs{ // AccountId: pulumi.String("1234567890"), // Services: pulumi.StringArray{ diff --git a/sdk/go/datadog/aws/integrationTagFilter.go b/sdk/go/datadog/aws/integrationTagFilter.go index 3877b36f5..4f7c08ac6 100644 --- a/sdk/go/datadog/aws/integrationTagFilter.go +++ b/sdk/go/datadog/aws/integrationTagFilter.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog - Amazon Web Services integration tag filter // _, err := aws.NewIntegrationTagFilter(ctx, "foo", &aws.IntegrationTagFilterArgs{ // AccountId: pulumi.String("123456789010"), // Namespace: pulumi.String("sqs"), diff --git a/sdk/go/datadog/azure/integration.go b/sdk/go/datadog/azure/integration.go index 910f57fde..c794c4ba9 100644 --- a/sdk/go/datadog/azure/integration.go +++ b/sdk/go/datadog/azure/integration.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog - Microsoft Azure integration // _, err := azure.NewIntegration(ctx, "sandbox", &azure.IntegrationArgs{ // AppServicePlanFilters: pulumi.String("examplefilter:true,example:another"), // Automute: pulumi.Bool(true), diff --git a/sdk/go/datadog/childOrganization.go b/sdk/go/datadog/childOrganization.go index 8c97e791d..d50b56e48 100644 --- a/sdk/go/datadog/childOrganization.go +++ b/sdk/go/datadog/childOrganization.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog Child Organization // _, err := datadog.NewChildOrganization(ctx, "organization", &datadog.ChildOrganizationArgs{ // Name: pulumi.String("foo-organization"), // }) diff --git a/sdk/go/datadog/confluent/integrationResource.go b/sdk/go/datadog/confluent/integrationResource.go index 44fa7fc3a..8be7df188 100644 --- a/sdk/go/datadog/confluent/integrationResource.go +++ b/sdk/go/datadog/confluent/integrationResource.go @@ -39,6 +39,7 @@ import ( // if err != nil { // return err // } +// // Create new integration_confluent_resource resource // _, err = confluent.NewIntegrationResource(ctx, "fooIntegrationResource", &confluent.IntegrationResourceArgs{ // AccountId: fooIntegrationAccount.ID(), // ResourceId: pulumi.String("123456"), diff --git a/sdk/go/datadog/dashboardJson.go b/sdk/go/datadog/dashboardJson.go index 8786d53a7..540d71311 100644 --- a/sdk/go/datadog/dashboardJson.go +++ b/sdk/go/datadog/dashboardJson.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Example Dashboard JSON // _, err := datadog.NewDashboardJson(ctx, "dashboardJson", &datadog.DashboardJsonArgs{ // Dashboard: pulumi.String(`{ // "title":"Ordered Layout Dashboard", diff --git a/sdk/go/datadog/dashboardList.go b/sdk/go/datadog/dashboardList.go index de905fbe5..140e3355b 100644 --- a/sdk/go/datadog/dashboardList.go +++ b/sdk/go/datadog/dashboardList.go @@ -74,6 +74,7 @@ import ( // if err != nil { // return err // } +// // Create a new Dashboard List with two Dashboards // _, err = datadog.NewDashboardList(ctx, "newList", &datadog.DashboardListArgs{ // Name: pulumi.String("Automated Created List"), // DashItems: datadog.DashboardListDashItemArray{ diff --git a/sdk/go/datadog/downtime.go b/sdk/go/datadog/downtime.go index 8a1ca546d..99412120d 100644 --- a/sdk/go/datadog/downtime.go +++ b/sdk/go/datadog/downtime.go @@ -28,6 +28,8 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Example: downtime for all monitors +// // Create a new daily 1700-0900 Datadog downtime for all monitors // _, err := datadog.NewDowntime(ctx, "foo", &datadog.DowntimeArgs{ // End: pulumi.Int(1483365600), // Recurrence: &datadog.DowntimeRecurrenceArgs{ diff --git a/sdk/go/datadog/fastly/integrationService.go b/sdk/go/datadog/fastly/integrationService.go index c912f2891..3bffb7640 100644 --- a/sdk/go/datadog/fastly/integrationService.go +++ b/sdk/go/datadog/fastly/integrationService.go @@ -35,6 +35,7 @@ import ( // if err != nil { // return err // } +// // Create new integration_fastly_service resource // _, err = fastly.NewIntegrationService(ctx, "fooIntegrationService", &fastly.IntegrationServiceArgs{ // AccountId: fooIntegrationAccount.ID(), // Tags: pulumi.StringArray{ diff --git a/sdk/go/datadog/getDashboardList.go b/sdk/go/datadog/getDashboardList.go index 02bb260de..823cb4d51 100644 --- a/sdk/go/datadog/getDashboardList.go +++ b/sdk/go/datadog/getDashboardList.go @@ -33,6 +33,7 @@ import ( // if err != nil { // return err // } +// // Create a dashboard and register it in the list above. // _, err = datadog.NewDashboard(ctx, "time", &datadog.DashboardArgs{ // DashboardLists: pulumi.IntArray{ // *pulumi.String(test.Id), diff --git a/sdk/go/datadog/getLogsPipelines.go b/sdk/go/datadog/getLogsPipelines.go index 4da951d29..96db62cf3 100644 --- a/sdk/go/datadog/getLogsPipelines.go +++ b/sdk/go/datadog/getLogsPipelines.go @@ -31,6 +31,7 @@ import ( // if err != nil { // return err // } +// // Using data source to set pipeline order // _, err = datadog.NewLogsPipelineOrder(ctx, "lpo", &datadog.LogsPipelineOrderArgs{ // Name: pulumi.String("lpo"), // Pipelines: "TODO: For expression", diff --git a/sdk/go/datadog/metricMetadata.go b/sdk/go/datadog/metricMetadata.go index f356cbfce..8ae0c6ce1 100644 --- a/sdk/go/datadog/metricMetadata.go +++ b/sdk/go/datadog/metricMetadata.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Manage a Datadog metric's metadata // _, err := datadog.NewMetricMetadata(ctx, "requestTime", &datadog.MetricMetadataArgs{ // Description: pulumi.String("99th percentile request time in milliseconds"), // Metric: pulumi.String("request.time"), diff --git a/sdk/go/datadog/metricTagConfiguration.go b/sdk/go/datadog/metricTagConfiguration.go index 819f70a27..a6118c17c 100644 --- a/sdk/go/datadog/metricTagConfiguration.go +++ b/sdk/go/datadog/metricTagConfiguration.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Manage a tag configuration for a Datadog distribution metric with/without percentiles // _, err := datadog.NewMetricTagConfiguration(ctx, "exampleDistMetric", &datadog.MetricTagConfigurationArgs{ // IncludePercentiles: pulumi.Bool(false), // MetricName: pulumi.String("example.terraform.dist.metric"), @@ -40,6 +41,7 @@ import ( // if err != nil { // return err // } +// // Manage tag configurations for a Datadog count or gauge metric // _, err = datadog.NewMetricTagConfiguration(ctx, "exampleCountMetric", &datadog.MetricTagConfigurationArgs{ // Aggregations: datadog.MetricTagConfigurationAggregationArray{ // &datadog.MetricTagConfigurationAggregationArgs{ diff --git a/sdk/go/datadog/openapiApi.go b/sdk/go/datadog/openapiApi.go index bee5515af..fd3bd3121 100644 --- a/sdk/go/datadog/openapiApi.go +++ b/sdk/go/datadog/openapiApi.go @@ -38,6 +38,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create new openapi_api resource // _, err := datadog.NewOpenapiApi(ctx, "my-api", &datadog.OpenapiApiArgs{ // Spec: readFileOrPanic("./path/my-api.yaml"), // }) diff --git a/sdk/go/datadog/organizationSettings.go b/sdk/go/datadog/organizationSettings.go index 61279b529..02de46c4f 100644 --- a/sdk/go/datadog/organizationSettings.go +++ b/sdk/go/datadog/organizationSettings.go @@ -27,6 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Manage Datadog Organization // _, err := datadog.NewOrganizationSettings(ctx, "organization", &datadog.OrganizationSettingsArgs{ // Name: pulumi.String("foo-organization"), // }) diff --git a/sdk/go/datadog/pagerduty/integration.go b/sdk/go/datadog/pagerduty/integration.go index 6cc5c7378..2016b4e4c 100644 --- a/sdk/go/datadog/pagerduty/integration.go +++ b/sdk/go/datadog/pagerduty/integration.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Services as Individual Resources // _, err := pagerduty.NewIntegration(ctx, "pd", &pagerduty.IntegrationArgs{ // ApiToken: pulumi.String("38457822378273432587234242874"), // Schedules: pulumi.StringArray{ diff --git a/sdk/go/datadog/powerpack.go b/sdk/go/datadog/powerpack.go index 922d2d9c1..eba2f867e 100644 --- a/sdk/go/datadog/powerpack.go +++ b/sdk/go/datadog/powerpack.go @@ -27,6 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Manage Datadog Powerpacks // _, err := datadog.NewOrganizationSettings(ctx, "organization", &datadog.OrganizationSettingsArgs{ // Name: pulumi.String("foo-organization"), // }) diff --git a/sdk/go/datadog/role.go b/sdk/go/datadog/role.go index df440d130..1be2c38b4 100644 --- a/sdk/go/datadog/role.go +++ b/sdk/go/datadog/role.go @@ -32,6 +32,7 @@ import ( // if err != nil { // return err // } +// // Create a new Datadog role // _, err = datadog.NewRole(ctx, "foo", &datadog.RoleArgs{ // Name: pulumi.String("foo"), // Permissions: datadog.RolePermissionArray{ diff --git a/sdk/go/datadog/sensitiveDataScannerRule.go b/sdk/go/datadog/sensitiveDataScannerRule.go index ac7197d14..c6b632f17 100644 --- a/sdk/go/datadog/sensitiveDataScannerRule.go +++ b/sdk/go/datadog/sensitiveDataScannerRule.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create new sensitive_data_scanner_rule resource in a sensitive_data_scanner_group // mygroup, err := datadog.NewSensitiveDataScannerGroup(ctx, "mygroup", &datadog.SensitiveDataScannerGroupArgs{ // Name: pulumi.String("My new scanning group"), // Description: pulumi.String("A relevant description"), diff --git a/sdk/go/datadog/serviceAccount.go b/sdk/go/datadog/serviceAccount.go index b8ff30ab5..3350c6d3b 100644 --- a/sdk/go/datadog/serviceAccount.go +++ b/sdk/go/datadog/serviceAccount.go @@ -34,6 +34,7 @@ import ( // if err != nil { // return err // } +// // Create a new Datadog service account // _, err = datadog.NewServiceAccount(ctx, "bar", &datadog.ServiceAccountArgs{ // Email: pulumi.String("new@example.com"), // Name: pulumi.String("Service Account Bar"), diff --git a/sdk/go/datadog/serviceAccountApplicationKey.go b/sdk/go/datadog/serviceAccountApplicationKey.go index ded2829f8..2e162fc93 100644 --- a/sdk/go/datadog/serviceAccountApplicationKey.go +++ b/sdk/go/datadog/serviceAccountApplicationKey.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create new service_account_application_key resource // _, err := datadog.NewServiceAccountApplicationKey(ctx, "foo", &datadog.ServiceAccountApplicationKeyArgs{ // Name: pulumi.String("Application key for managing dashboards"), // ServiceAccountId: pulumi.String("00000000-0000-1234-0000-000000000000"), diff --git a/sdk/go/datadog/serviceDefinitionYaml.go b/sdk/go/datadog/serviceDefinitionYaml.go index 47e09ab0b..f0f27ea89 100644 --- a/sdk/go/datadog/serviceDefinitionYaml.go +++ b/sdk/go/datadog/serviceDefinitionYaml.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Service Definition with v2.2 Schema Definition // _, err := datadog.NewServiceDefinitionYaml(ctx, "serviceDefinitionV22", &datadog.ServiceDefinitionYamlArgs{ // ServiceDefinition: pulumi.String(`schema-version: v2.2 // @@ -91,6 +92,7 @@ import ( // if err != nil { // return err // } +// // Service Definition with v2.1 Schema Definition // _, err = datadog.NewServiceDefinitionYaml(ctx, "serviceDefinitionV21", &datadog.ServiceDefinitionYamlArgs{ // ServiceDefinition: pulumi.String(`schema-version: v2.1 // @@ -145,6 +147,7 @@ import ( // if err != nil { // return err // } +// // Service Definition with v2 Schema Definition // _, err = datadog.NewServiceDefinitionYaml(ctx, "serviceDefinitionV2", &datadog.ServiceDefinitionYamlArgs{ // ServiceDefinition: pulumi.String(`schema-version: v2 // @@ -195,6 +198,7 @@ import ( // if err != nil { // return err // } +// // Service Definition with backstage.io Schema // _, err = datadog.NewServiceDefinitionYaml(ctx, "serviceDefinitionBackstage", &datadog.ServiceDefinitionYamlArgs{ // ServiceDefinition: pulumi.String(`apiVersion: backstage.io/v1alpha1 // diff --git a/sdk/go/datadog/sloCorrection.go b/sdk/go/datadog/sloCorrection.go index fdb5af8d6..a8e997375 100644 --- a/sdk/go/datadog/sloCorrection.go +++ b/sdk/go/datadog/sloCorrection.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO. // exampleSlo, err := datadog.NewServiceLevelObjective(ctx, "exampleSlo", &datadog.ServiceLevelObjectiveArgs{ // Name: pulumi.String("example slo"), // Type: pulumi.String("metric"), diff --git a/sdk/go/datadog/syntheticsConcurrencyCap.go b/sdk/go/datadog/syntheticsConcurrencyCap.go index 54a10b429..a2dd3af70 100644 --- a/sdk/go/datadog/syntheticsConcurrencyCap.go +++ b/sdk/go/datadog/syntheticsConcurrencyCap.go @@ -28,6 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Example Usage (Synthetics Concurrency Cap Configuration) // _, err := datadog.NewSyntheticsConcurrencyCap(ctx, "this", &datadog.SyntheticsConcurrencyCapArgs{ // OnDemandConcurrencyCap: pulumi.Int(1), // }) diff --git a/sdk/go/datadog/syntheticsTest.go b/sdk/go/datadog/syntheticsTest.go index d95127474..643d1870c 100644 --- a/sdk/go/datadog/syntheticsTest.go +++ b/sdk/go/datadog/syntheticsTest.go @@ -91,6 +91,8 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Example Usage (Synthetics API test) +// // Create a new Datadog Synthetics API/HTTP test on https://www.example.org // _, err := datadog.NewSyntheticsTest(ctx, "testUptime", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("An Uptime test on example.org"), // Type: pulumi.String("api"), @@ -133,6 +135,8 @@ import ( // if err != nil { // return err // } +// // Example Usage (Authenticated API test) +// // Create a new Datadog Synthetics API/HTTP test on https://www.example.org // _, err = datadog.NewSyntheticsTest(ctx, "testApi", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("An API test on example.org"), // Type: pulumi.String("api"), @@ -176,6 +180,8 @@ import ( // if err != nil { // return err // } +// // Example Usage (Synthetics SSL test) +// // Create a new Datadog Synthetics API/SSL test on example.org // _, err = datadog.NewSyntheticsTest(ctx, "testSsl", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("An API test on example.org"), // Type: pulumi.String("api"), @@ -209,6 +215,8 @@ import ( // if err != nil { // return err // } +// // Example Usage (Synthetics TCP test) +// // Create a new Datadog Synthetics API/TCP test on example.org // _, err = datadog.NewSyntheticsTest(ctx, "testTcp", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("An API test on example.org"), // Type: pulumi.String("api"), @@ -248,6 +256,8 @@ import ( // if err != nil { // return err // } +// // Example Usage (Synthetics DNS test) +// // Create a new Datadog Synthetics API/DNS test on example.org // _, err = datadog.NewSyntheticsTest(ctx, "testDns", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("An API test on example.org"), // Type: pulumi.String("api"), @@ -280,6 +290,8 @@ import ( // if err != nil { // return err // } +// // Example Usage (Synthetics Multistep API test) +// // Create a new Datadog Synthetics Multistep API test // _, err = datadog.NewSyntheticsTest(ctx, "testMultiStep", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("Multistep API test"), // Type: pulumi.String("api"), @@ -352,6 +364,8 @@ import ( // return err // } // json0 := string(tmpJSON0) +// // Example Usage (Synthetics Browser test) +// // Create a new Datadog Synthetics Browser test starting on https://www.example.org // _, err = datadog.NewSyntheticsTest(ctx, "testBrowser", &datadog.SyntheticsTestArgs{ // Name: pulumi.String("A Browser test on example.org"), // Type: pulumi.String("browser"), @@ -411,6 +425,8 @@ import ( // if err != nil { // return err // } +// // Example Usage (GRPC API test) +// // Create a new Datadog GRPC API test starting on google.org:50050 // _, err = datadog.NewSyntheticsTest(ctx, "grpc", &datadog.SyntheticsTestArgs{ // Type: pulumi.String("api"), // Subtype: pulumi.String("grpc"), diff --git a/sdk/go/datadog/teamMembership.go b/sdk/go/datadog/teamMembership.go index 573a75036..3d2f9fc0b 100644 --- a/sdk/go/datadog/teamMembership.go +++ b/sdk/go/datadog/teamMembership.go @@ -42,6 +42,7 @@ import ( // if err != nil { // return err // } +// // Create new team_membership resource // _, err = datadog.NewTeamMembership(ctx, "fooTeamMembership", &datadog.TeamMembershipArgs{ // TeamId: fooTeam.ID(), // UserId: fooUser.ID(), diff --git a/sdk/go/datadog/user.go b/sdk/go/datadog/user.go index 884c1f2ca..3c3df5090 100644 --- a/sdk/go/datadog/user.go +++ b/sdk/go/datadog/user.go @@ -34,6 +34,7 @@ import ( // if err != nil { // return err // } +// // Create a new Datadog user // _, err = datadog.NewUser(ctx, "foo", &datadog.UserArgs{ // Email: pulumi.String("new@example.com"), // Roles: pulumi.StringArray{ diff --git a/sdk/go/datadog/webhook.go b/sdk/go/datadog/webhook.go index 78ed17efb..afc3bee00 100644 --- a/sdk/go/datadog/webhook.go +++ b/sdk/go/datadog/webhook.go @@ -44,6 +44,7 @@ import ( // return err // } // json1 := string(tmpJSON1) +// // Create a new Datadog webhook // _, err = datadog.NewWebhook(ctx, "foo", &datadog.WebhookArgs{ // Name: pulumi.String("test-webhook"), // Url: pulumi.String("example.com"),