diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 0548fb4e9..7092c7c46 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.14.0 \ No newline at end of file +0.15.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index 19a4ad8ec..8245ab589 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.128.0 +require github.com/pulumi/pulumi/pkg/v3 v3.129.0 require ( cloud.google.com/go v0.112.1 // indirect @@ -123,7 +123,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.9.1 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.128.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.129.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect @@ -154,14 +154,14 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.27.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.22.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 01fb8a553..d9d59af93 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -342,10 +342,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.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/pkg/v3 v3.128.0 h1:K3qtJYjHg4DkA7LxknY/MoQZ+QHdHQDh/k2njjmjHXM= -github.com/pulumi/pulumi/pkg/v3 v3.128.0/go.mod h1:/spoJXy/mqQ8fBLgXBEbUrAnL7pHdfXOviIo5fZROEY= -github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk= -github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= +github.com/pulumi/pulumi/pkg/v3 v3.129.0 h1:n4Jd4ctlvw3eqyHglb/yJKDtRqjOvdkCBfG5T+orU30= +github.com/pulumi/pulumi/pkg/v3 v3.129.0/go.mod h1:W3c7JgO064kUH5IfyQMCgmsAr5iwr3PO6KEeIQiO0dY= +github.com/pulumi/pulumi/sdk/v3 v3.129.0 h1:uZpTTwWTx7Mk8UT9FgatzxzArim47vZ6hzNCKvgvX6A= +github.com/pulumi/pulumi/sdk/v3 v3.129.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= 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= @@ -439,8 +439,8 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= @@ -476,8 +476,8 @@ golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= @@ -518,8 +518,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -529,8 +529,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/provider/cmd/pulumi-resource-datadog/schema.json b/provider/cmd/pulumi-resource-datadog/schema.json index 08c5a6999..6d5efd36b 100644 --- a/provider/cmd/pulumi-resource-datadog/schema.json +++ b/provider/cmd/pulumi-resource-datadog/schema.json @@ -28767,14 +28767,14 @@ "requestHeaders": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Header name and value map.\n" }, "requestMetadata": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Metadata to include when performing the gRPC request.\n" }, @@ -28785,7 +28785,7 @@ "requestQuery": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Query arguments name and value map.\n" }, @@ -29229,7 +29229,7 @@ "headers": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Header name and value map.\n" }, @@ -30047,7 +30047,7 @@ "headers": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Header name and value map.\n" }, @@ -31529,7 +31529,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## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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 roleName: \"DatadogAWSIntegrationRole\",\n filterTags: [\"key:value\"],\n hostTags: [\n \"key:value\",\n \"key2:value2\",\n ],\n accountSpecificNamespaceRules: {\n auto_scaling: false,\n opsworks: false,\n },\n excludedRegions: [\n \"us-east-1\",\n \"us-west-2\",\n ],\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 role_name=\"DatadogAWSIntegrationRole\",\n filter_tags=[\"key:value\"],\n host_tags=[\n \"key:value\",\n \"key2:value2\",\n ],\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```\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 RoleName = \"DatadogAWSIntegrationRole\",\n FilterTags = new[]\n {\n \"key:value\",\n },\n HostTags = new[]\n {\n \"key:value\",\n \"key2:value2\",\n },\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 });\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\tRoleName: pulumi.String(\"DatadogAWSIntegrationRole\"),\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\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})\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 // Create a new Datadog - Amazon Web Services integration\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder()\n .accountId(\"1234567890\")\n .roleName(\"DatadogAWSIntegrationRole\")\n .filterTags(\"key:value\")\n .hostTags( \n \"key:value\",\n \"key2:value2\")\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 .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 roleName: DatadogAWSIntegrationRole\n filterTags:\n - key:value\n hostTags:\n - key:value\n - key2:value2\n accountSpecificNamespaceRules:\n auto_scaling: false\n opsworks: false\n excludedRegions:\n - us-east-1\n - us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\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## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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 roleName: \"DatadogAWSIntegrationRole\",\n filterTags: [\"key:value\"],\n hostTags: [\n \"key:value\",\n \"key2:value2\",\n ],\n accountSpecificNamespaceRules: {\n auto_scaling: \"false\",\n opsworks: \"false\",\n },\n excludedRegions: [\n \"us-east-1\",\n \"us-west-2\",\n ],\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 role_name=\"DatadogAWSIntegrationRole\",\n filter_tags=[\"key:value\"],\n host_tags=[\n \"key:value\",\n \"key2:value2\",\n ],\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```\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 RoleName = \"DatadogAWSIntegrationRole\",\n FilterTags = new[]\n {\n \"key:value\",\n },\n HostTags = new[]\n {\n \"key:value\",\n \"key2:value2\",\n },\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 });\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\tRoleName: pulumi.String(\"DatadogAWSIntegrationRole\"),\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\tAccountSpecificNamespaceRules: pulumi.StringMap{\n\t\t\t\t\"auto_scaling\": pulumi.String(\"false\"),\n\t\t\t\t\"opsworks\": pulumi.String(\"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})\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 // Create a new Datadog - Amazon Web Services integration\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder()\n .accountId(\"1234567890\")\n .roleName(\"DatadogAWSIntegrationRole\")\n .filterTags(\"key:value\")\n .hostTags( \n \"key:value\",\n \"key2:value2\")\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 .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 roleName: DatadogAWSIntegrationRole\n filterTags:\n - key:value\n hostTags:\n - key:value\n - key2:value2\n accountSpecificNamespaceRules:\n auto_scaling: false\n opsworks: false\n excludedRegions:\n - us-east-1\n - us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\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", @@ -31542,7 +31542,7 @@ "accountSpecificNamespaceRules": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules).\n" }, @@ -31616,7 +31616,7 @@ "accountSpecificNamespaceRules": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules).\n" }, @@ -31682,7 +31682,7 @@ "accountSpecificNamespaceRules": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules).\n" }, @@ -37820,7 +37820,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```\nurl = https://{{ GLOBAL_VAR }}\n```\n\nto\n\n```\nconfig_variable {\n name = \"LOCAL_VAR\"\n id = [your_global_variable_id]\n type = \"global\"\n}\n```\n\nwhich you can now use in your request definition:\n```\nurl = https://{{ LOCAL_VAR }}\n```\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(\"test_uptime\", {\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(\"test_api\", {\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(\"test_ssl\", {\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(\"test_tcp\", {\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(\"test_dns\", {\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(\"test_multi_step\", {\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://www.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 name: \"A gRPC health check on example.org\",\n subtype: \"grpc\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n callType: \"healthcheck\",\n service: \"greeter.Greeter\",\n },\n },\n {\n name: \"A gRPC behavior check on example.org\",\n subtype: \"grpc\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n callType: \"unary\",\n service: \"greeter.Greeter\",\n method: \"SayHello\",\n message: \"{\\\"name\\\": \\\"John\\\"}\",\n plainProtoFile: `syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n`,\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(\"test_browser\", {\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://www.example.org\",\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 behavior check test)\n// Create a new Datadog GRPC API test calling host example.org on port 443\n// targeting service `greeter.Greeter` with the method `SayHello`\n// and the message {\"name\": \"John\"}\nconst testGrpcUnary = new datadog.SyntheticsTest(\"test_grpc_unary\", {\n name: \"GRPC API behavior check test\",\n type: \"api\",\n subtype: \"grpc\",\n status: \"live\",\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 callType: \"unary\",\n service: \"greeter.Greeter\",\n method: \"SayHello\",\n message: \"{\\\"name\\\": \\\"John\\\"}\",\n plainProtoFile: `syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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 type: \"grpcProto\",\n target: \"proto target\",\n },\n {\n operator: \"is\",\n property: \"property\",\n type: \"grpcMetadata\",\n target: \"123\",\n },\n ],\n optionsList: {\n tickEvery: 900,\n },\n});\n// Example Usage (GRPC API health check test)\n// Create a new Datadog GRPC API test calling host example.org on port 443\n// testing the overall health of the service\nconst testGrpcHealth = new datadog.SyntheticsTest(\"test_grpc_health\", {\n name: \"GRPC API health check test\",\n type: \"api\",\n subtype: \"grpc\",\n status: \"live\",\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 callType: \"healthcheck\",\n service: \"greeter.Greeter\",\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 optionsList: {\n tickEvery: 900,\n },\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(\"test_uptime\",\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={\n \"method\": \"GET\",\n \"url\": \"https://www.example.org\",\n },\n request_headers={\n \"Content-Type\": \"application/json\",\n },\n assertions=[{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n options_list={\n \"tick_every\": 900,\n \"retry\": {\n \"count\": 2,\n \"interval\": 300,\n },\n \"monitor_options\": {\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(\"test_api\",\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={\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=[{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n options_list={\n \"tick_every\": 900,\n \"retry\": {\n \"count\": 2,\n \"interval\": 300,\n },\n \"monitor_options\": {\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(\"test_ssl\",\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={\n \"host\": \"example.org\",\n \"port\": 443,\n },\n assertions=[{\n \"type\": \"certificate\",\n \"operator\": \"isInMoreThan\",\n \"target\": \"30\",\n }],\n options_list={\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(\"test_tcp\",\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={\n \"host\": \"example.org\",\n \"port\": 443,\n },\n assertions=[{\n \"type\": \"responseTime\",\n \"operator\": \"lessThan\",\n \"target\": \"2000\",\n }],\n config_variables=[{\n \"type\": \"global\",\n \"name\": \"MY_GLOBAL_VAR\",\n \"id\": \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n }],\n options_list={\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(\"test_dns\",\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={\n \"host\": \"example.org\",\n },\n assertions=[{\n \"type\": \"recordSome\",\n \"operator\": \"is\",\n \"property\": \"A\",\n \"target\": \"0.0.0.0\",\n }],\n options_list={\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(\"test_multi_step\",\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 {\n \"name\": \"An API test on example.org\",\n \"subtype\": \"http\",\n \"assertions\": [{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n \"request_definition\": {\n \"method\": \"GET\",\n \"url\": \"https://www.example.org\",\n },\n \"request_headers\": {\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 \"request_definition\": {\n \"method\": \"GET\",\n \"url\": \"http://example.org\",\n },\n },\n {\n \"name\": \"A gRPC health check on example.org\",\n \"subtype\": \"grpc\",\n \"assertions\": [{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n \"request_definition\": {\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"healthcheck\",\n \"service\": \"greeter.Greeter\",\n },\n },\n {\n \"name\": \"A gRPC behavior check on example.org\",\n \"subtype\": \"grpc\",\n \"assertions\": [{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n \"request_definition\": {\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"unary\",\n \"service\": \"greeter.Greeter\",\n \"method\": \"SayHello\",\n \"message\": \"{\\\"name\\\": \\\"John\\\"}\",\n \"plain_proto_file\": \"\"\"syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n\"\"\",\n },\n },\n ],\n options_list={\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(\"test_browser\",\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={\n \"method\": \"GET\",\n \"url\": \"https://www.example.org\",\n },\n browser_steps=[\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.dumps({\n \"md5\": \"abcdef1234567890\",\n \"size_check\": {\n \"type\": \"equals\",\n \"value\": 1,\n },\n \"name_check\": {\n \"type\": \"contains\",\n \"value\": \".xls\",\n },\n }),\n },\n },\n ],\n browser_variables=[\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 options_list={\n \"tick_every\": 3600,\n })\n# Example Usage (GRPC API behavior check test)\n# Create a new Datadog GRPC API test calling host example.org on port 443\n# targeting service `greeter.Greeter` with the method `SayHello`\n# and the message {\"name\": \"John\"}\ntest_grpc_unary = datadog.SyntheticsTest(\"test_grpc_unary\",\n name=\"GRPC API behavior check test\",\n type=\"api\",\n subtype=\"grpc\",\n status=\"live\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition={\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"unary\",\n \"service\": \"greeter.Greeter\",\n \"method\": \"SayHello\",\n \"message\": \"{\\\"name\\\": \\\"John\\\"}\",\n \"plain_proto_file\": \"\"\"syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n\"\"\",\n },\n request_metadata={\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 \"type\": \"grpcProto\",\n \"target\": \"proto target\",\n },\n {\n \"operator\": \"is\",\n \"property\": \"property\",\n \"type\": \"grpcMetadata\",\n \"target\": \"123\",\n },\n ],\n options_list={\n \"tick_every\": 900,\n })\n# Example Usage (GRPC API health check test)\n# Create a new Datadog GRPC API test calling host example.org on port 443\n# testing the overall health of the service\ntest_grpc_health = datadog.SyntheticsTest(\"test_grpc_health\",\n name=\"GRPC API health check test\",\n type=\"api\",\n subtype=\"grpc\",\n status=\"live\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition={\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"healthcheck\",\n \"service\": \"greeter.Greeter\",\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 options_list={\n \"tick_every\": 900,\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 // 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(\"test_uptime\", 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(\"test_api\", 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(\"test_ssl\", 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(\"test_tcp\", 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(\"test_dns\", 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(\"test_multi_step\", 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://www.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 new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"A gRPC health check on example.org\",\n Subtype = \"grpc\",\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 Host = \"example.org\",\n Port = 443,\n CallType = \"healthcheck\",\n Service = \"greeter.Greeter\",\n },\n },\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"A gRPC behavior check on example.org\",\n Subtype = \"grpc\",\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 Host = \"example.org\",\n Port = 443,\n CallType = \"unary\",\n Service = \"greeter.Greeter\",\n Method = \"SayHello\",\n Message = \"{\\\"name\\\": \\\"John\\\"}\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n\",\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(\"test_browser\", 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://www.example.org\",\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 behavior check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // targeting service `greeter.Greeter` with the method `SayHello`\n // and the message {\"name\": \"John\"}\n var testGrpcUnary = new Datadog.SyntheticsTest(\"test_grpc_unary\", new()\n {\n Name = \"GRPC API behavior check test\",\n Type = \"api\",\n Subtype = \"grpc\",\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 RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n CallType = \"unary\",\n Service = \"greeter.Greeter\",\n Method = \"SayHello\",\n Message = \"{\\\"name\\\": \\\"John\\\"}\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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 Type = \"grpcProto\",\n Target = \"proto target\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Property = \"property\",\n Type = \"grpcMetadata\",\n Target = \"123\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n },\n });\n\n // Example Usage (GRPC API health check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // testing the overall health of the service\n var testGrpcHealth = new Datadog.SyntheticsTest(\"test_grpc_health\", new()\n {\n Name = \"GRPC API health check test\",\n Type = \"api\",\n Subtype = \"grpc\",\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 RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n CallType = \"healthcheck\",\n Service = \"greeter.Greeter\",\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 },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\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\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, \"test_uptime\", \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, \"test_api\", \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, \"test_ssl\", \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, \"test_tcp\", \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, \"test_dns\", \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, \"test_multi_step\", \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://www.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\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"A gRPC health check on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tHost: pulumi.String(\"example.org\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\tCallType: pulumi.String(\"healthcheck\"),\n\t\t\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\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(\"A gRPC behavior check on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tHost: pulumi.String(\"example.org\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\tCallType: pulumi.String(\"unary\"),\n\t\t\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"SayHello\"),\n\t\t\t\t\t\tMessage: pulumi.String(\"{\\\"name\\\": \\\"John\\\"}\"),\n\t\t\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n`),\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, \"test_browser\", \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://www.example.org\"),\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 behavior check test)\n\t\t// Create a new Datadog GRPC API test calling host example.org on port 443\n\t\t// targeting service `greeter.Greeter` with the method `SayHello`\n\t\t// and the message {\"name\": \"John\"}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"test_grpc_unary\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"GRPC API behavior check test\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tCallType: pulumi.String(\"unary\"),\n\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\n\t\t\t\tMethod: pulumi.String(\"SayHello\"),\n\t\t\t\tMessage: pulumi.String(\"{\\\"name\\\": \\\"John\\\"}\"),\n\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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\tType: pulumi.String(\"grpcProto\"),\n\t\t\t\t\tTarget: pulumi.String(\"proto target\"),\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\tProperty: pulumi.String(\"property\"),\n\t\t\t\t\tType: pulumi.String(\"grpcMetadata\"),\n\t\t\t\t\tTarget: pulumi.String(\"123\"),\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 (GRPC API health check test)\n\t\t// Create a new Datadog GRPC API test calling host example.org on port 443\n\t\t// testing the overall health of the service\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"test_grpc_health\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"GRPC API health check test\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tCallType: pulumi.String(\"healthcheck\"),\n\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\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},\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\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 // Example Usage (Synthetics API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\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 // Example Usage (Authenticated API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\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 // Example Usage (Synthetics SSL test)\n // Create a new Datadog Synthetics API/SSL test on example.org\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 // Example Usage (Synthetics TCP test)\n // Create a new Datadog Synthetics API/TCP test on example.org\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 // Example Usage (Synthetics DNS test)\n // Create a new Datadog Synthetics API/DNS test on example.org\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 // Example Usage (Synthetics Multistep API test)\n // Create a new Datadog Synthetics Multistep API test\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://www.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 SyntheticsTestApiStepArgs.builder()\n .name(\"A gRPC health check on example.org\")\n .subtype(\"grpc\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .callType(\"healthcheck\")\n .service(\"greeter.Greeter\")\n .build())\n .build(),\n SyntheticsTestApiStepArgs.builder()\n .name(\"A gRPC behavior check on example.org\")\n .subtype(\"grpc\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .callType(\"unary\")\n .service(\"greeter.Greeter\")\n .method(\"SayHello\")\n .message(\"{\\\"name\\\": \\\"John\\\"}\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n \"\"\")\n .build())\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\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 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://www.example.org\")\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 // Example Usage (GRPC API behavior check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // targeting service `greeter.Greeter` with the method `SayHello`\n // and the message {\"name\": \"John\"}\n var testGrpcUnary = new SyntheticsTest(\"testGrpcUnary\", SyntheticsTestArgs.builder()\n .name(\"GRPC API behavior check test\")\n .type(\"api\")\n .subtype(\"grpc\")\n .status(\"live\")\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 .callType(\"unary\")\n .service(\"greeter.Greeter\")\n .method(\"SayHello\")\n .message(\"{\\\"name\\\": \\\"John\\\"}\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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 .type(\"grpcProto\")\n .target(\"proto target\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .property(\"property\")\n .type(\"grpcMetadata\")\n .target(\"123\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\n .build());\n\n // Example Usage (GRPC API health check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // testing the overall health of the service\n var testGrpcHealth = new SyntheticsTest(\"testGrpcHealth\", SyntheticsTestArgs.builder()\n .name(\"GRPC API health check test\")\n .type(\"api\")\n .subtype(\"grpc\")\n .status(\"live\")\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 .callType(\"healthcheck\")\n .service(\"greeter.Greeter\")\n .build())\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 .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\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 name: test_uptime\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 name: test_api\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 name: test_ssl\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 name: test_tcp\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 name: test_dns\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 name: test_multi_step\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://www.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 - name: A gRPC health check on example.org\n subtype: grpc\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n host: example.org\n port: 443\n callType: healthcheck\n service: greeter.Greeter\n - name: A gRPC behavior check on example.org\n subtype: grpc\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n host: example.org\n port: 443\n callType: unary\n service: greeter.Greeter\n method: SayHello\n message: '{\"name\": \"John\"}'\n plainProtoFile: |\n syntax = \"proto3\";\n\n package greeter;\n\n // The greeting service definition.\n service Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n\n // The request message containing the user's name.\n message HelloRequest {\n string name = 1;\n }\n\n // The response message containing the greetings\n message HelloReply {\n string message = 1;\n }\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 name: test_browser\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://www.example.org\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 behavior check test)\n # Create a new Datadog GRPC API test calling host example.org on port 443\n # targeting service `greeter.Greeter` with the method `SayHello`\n # and the message {\"name\": \"John\"}\n testGrpcUnary:\n type: datadog:SyntheticsTest\n name: test_grpc_unary\n properties:\n name: GRPC API behavior check test\n type: api\n subtype: grpc\n status: live\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 callType: unary\n service: greeter.Greeter\n method: SayHello\n message: '{\"name\": \"John\"}'\n plainProtoFile: |\n syntax = \"proto3\";\n\n package greeter;\n\n // The greeting service definition.\n service Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n\n // The request message containing the user's name.\n message HelloRequest {\n string name = 1;\n }\n\n // The response message containing the greetings\n message HelloReply {\n string 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 type: grpcProto\n target: proto target\n - operator: is\n property: property\n type: grpcMetadata\n target: '123'\n optionsList:\n tickEvery: 900\n # Example Usage (GRPC API health check test)\n # Create a new Datadog GRPC API test calling host example.org on port 443\n # testing the overall health of the service\n testGrpcHealth:\n type: datadog:SyntheticsTest\n name: test_grpc_health\n properties:\n name: GRPC API health check test\n type: api\n subtype: grpc\n status: live\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 callType: healthcheck\n service: greeter.Greeter\n assertions:\n - type: responseTime\n operator: lessThan\n target: '2000'\n - operator: is\n type: grpcHealthcheckStatus\n target: 1\n optionsList:\n tickEvery: 900\n```\n\u003c!--End PulumiCodeChooser --\u003e\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```\nurl = https://{{ GLOBAL_VAR }}\n```\n\nto\n\n```\nconfig_variable {\n name = \"LOCAL_VAR\"\n id = [your_global_variable_id]\n type = \"global\"\n}\n```\n\nwhich you can now use in your request definition:\n```\nurl = https://{{ LOCAL_VAR }}\n```\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(\"test_uptime\", {\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(\"test_api\", {\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(\"test_ssl\", {\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(\"test_tcp\", {\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(\"test_dns\", {\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(\"test_multi_step\", {\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://www.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 name: \"A gRPC health check on example.org\",\n subtype: \"grpc\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n callType: \"healthcheck\",\n service: \"greeter.Greeter\",\n },\n },\n {\n name: \"A gRPC behavior check on example.org\",\n subtype: \"grpc\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n host: \"example.org\",\n port: 443,\n callType: \"unary\",\n service: \"greeter.Greeter\",\n method: \"SayHello\",\n message: \"{\\\"name\\\": \\\"John\\\"}\",\n plainProtoFile: `syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n`,\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(\"test_browser\", {\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://www.example.org\",\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 behavior check test)\n// Create a new Datadog GRPC API test calling host example.org on port 443\n// targeting service `greeter.Greeter` with the method `SayHello`\n// and the message {\"name\": \"John\"}\nconst testGrpcUnary = new datadog.SyntheticsTest(\"test_grpc_unary\", {\n name: \"GRPC API behavior check test\",\n type: \"api\",\n subtype: \"grpc\",\n status: \"live\",\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 callType: \"unary\",\n service: \"greeter.Greeter\",\n method: \"SayHello\",\n message: \"{\\\"name\\\": \\\"John\\\"}\",\n plainProtoFile: `syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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 type: \"grpcProto\",\n target: \"proto target\",\n },\n {\n operator: \"is\",\n property: \"property\",\n type: \"grpcMetadata\",\n target: \"123\",\n },\n ],\n optionsList: {\n tickEvery: 900,\n },\n});\n// Example Usage (GRPC API health check test)\n// Create a new Datadog GRPC API test calling host example.org on port 443\n// testing the overall health of the service\nconst testGrpcHealth = new datadog.SyntheticsTest(\"test_grpc_health\", {\n name: \"GRPC API health check test\",\n type: \"api\",\n subtype: \"grpc\",\n status: \"live\",\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 callType: \"healthcheck\",\n service: \"greeter.Greeter\",\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 optionsList: {\n tickEvery: 900,\n },\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(\"test_uptime\",\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={\n \"method\": \"GET\",\n \"url\": \"https://www.example.org\",\n },\n request_headers={\n \"Content-Type\": \"application/json\",\n },\n assertions=[{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n options_list={\n \"tick_every\": 900,\n \"retry\": {\n \"count\": 2,\n \"interval\": 300,\n },\n \"monitor_options\": {\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(\"test_api\",\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={\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=[{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n options_list={\n \"tick_every\": 900,\n \"retry\": {\n \"count\": 2,\n \"interval\": 300,\n },\n \"monitor_options\": {\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(\"test_ssl\",\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={\n \"host\": \"example.org\",\n \"port\": 443,\n },\n assertions=[{\n \"type\": \"certificate\",\n \"operator\": \"isInMoreThan\",\n \"target\": \"30\",\n }],\n options_list={\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(\"test_tcp\",\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={\n \"host\": \"example.org\",\n \"port\": 443,\n },\n assertions=[{\n \"type\": \"responseTime\",\n \"operator\": \"lessThan\",\n \"target\": \"2000\",\n }],\n config_variables=[{\n \"type\": \"global\",\n \"name\": \"MY_GLOBAL_VAR\",\n \"id\": \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n }],\n options_list={\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(\"test_dns\",\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={\n \"host\": \"example.org\",\n },\n assertions=[{\n \"type\": \"recordSome\",\n \"operator\": \"is\",\n \"property\": \"A\",\n \"target\": \"0.0.0.0\",\n }],\n options_list={\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(\"test_multi_step\",\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 {\n \"name\": \"An API test on example.org\",\n \"subtype\": \"http\",\n \"assertions\": [{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n \"request_definition\": {\n \"method\": \"GET\",\n \"url\": \"https://www.example.org\",\n },\n \"request_headers\": {\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 \"request_definition\": {\n \"method\": \"GET\",\n \"url\": \"http://example.org\",\n },\n },\n {\n \"name\": \"A gRPC health check on example.org\",\n \"subtype\": \"grpc\",\n \"assertions\": [{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n \"request_definition\": {\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"healthcheck\",\n \"service\": \"greeter.Greeter\",\n },\n },\n {\n \"name\": \"A gRPC behavior check on example.org\",\n \"subtype\": \"grpc\",\n \"assertions\": [{\n \"type\": \"statusCode\",\n \"operator\": \"is\",\n \"target\": \"200\",\n }],\n \"request_definition\": {\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"unary\",\n \"service\": \"greeter.Greeter\",\n \"method\": \"SayHello\",\n \"message\": \"{\\\"name\\\": \\\"John\\\"}\",\n \"plain_proto_file\": \"\"\"syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n\"\"\",\n },\n },\n ],\n options_list={\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(\"test_browser\",\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={\n \"method\": \"GET\",\n \"url\": \"https://www.example.org\",\n },\n browser_steps=[\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.dumps({\n \"md5\": \"abcdef1234567890\",\n \"size_check\": {\n \"type\": \"equals\",\n \"value\": 1,\n },\n \"name_check\": {\n \"type\": \"contains\",\n \"value\": \".xls\",\n },\n }),\n },\n },\n ],\n browser_variables=[\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 options_list={\n \"tick_every\": 3600,\n })\n# Example Usage (GRPC API behavior check test)\n# Create a new Datadog GRPC API test calling host example.org on port 443\n# targeting service `greeter.Greeter` with the method `SayHello`\n# and the message {\"name\": \"John\"}\ntest_grpc_unary = datadog.SyntheticsTest(\"test_grpc_unary\",\n name=\"GRPC API behavior check test\",\n type=\"api\",\n subtype=\"grpc\",\n status=\"live\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition={\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"unary\",\n \"service\": \"greeter.Greeter\",\n \"method\": \"SayHello\",\n \"message\": \"{\\\"name\\\": \\\"John\\\"}\",\n \"plain_proto_file\": \"\"\"syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n\"\"\",\n },\n request_metadata={\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 \"type\": \"grpcProto\",\n \"target\": \"proto target\",\n },\n {\n \"operator\": \"is\",\n \"property\": \"property\",\n \"type\": \"grpcMetadata\",\n \"target\": \"123\",\n },\n ],\n options_list={\n \"tick_every\": 900,\n })\n# Example Usage (GRPC API health check test)\n# Create a new Datadog GRPC API test calling host example.org on port 443\n# testing the overall health of the service\ntest_grpc_health = datadog.SyntheticsTest(\"test_grpc_health\",\n name=\"GRPC API health check test\",\n type=\"api\",\n subtype=\"grpc\",\n status=\"live\",\n locations=[\"aws:eu-central-1\"],\n tags=[\n \"foo:bar\",\n \"foo\",\n \"env:test\",\n ],\n request_definition={\n \"host\": \"example.org\",\n \"port\": 443,\n \"call_type\": \"healthcheck\",\n \"service\": \"greeter.Greeter\",\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 options_list={\n \"tick_every\": 900,\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 // 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(\"test_uptime\", 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(\"test_api\", 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(\"test_ssl\", 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(\"test_tcp\", 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(\"test_dns\", 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(\"test_multi_step\", 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://www.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 new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"A gRPC health check on example.org\",\n Subtype = \"grpc\",\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 Host = \"example.org\",\n Port = 443,\n CallType = \"healthcheck\",\n Service = \"greeter.Greeter\",\n },\n },\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"A gRPC behavior check on example.org\",\n Subtype = \"grpc\",\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 Host = \"example.org\",\n Port = 443,\n CallType = \"unary\",\n Service = \"greeter.Greeter\",\n Method = \"SayHello\",\n Message = \"{\\\"name\\\": \\\"John\\\"}\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n\",\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(\"test_browser\", 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://www.example.org\",\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 behavior check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // targeting service `greeter.Greeter` with the method `SayHello`\n // and the message {\"name\": \"John\"}\n var testGrpcUnary = new Datadog.SyntheticsTest(\"test_grpc_unary\", new()\n {\n Name = \"GRPC API behavior check test\",\n Type = \"api\",\n Subtype = \"grpc\",\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 RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n CallType = \"unary\",\n Service = \"greeter.Greeter\",\n Method = \"SayHello\",\n Message = \"{\\\"name\\\": \\\"John\\\"}\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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 Type = \"grpcProto\",\n Target = \"proto target\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Property = \"property\",\n Type = \"grpcMetadata\",\n Target = \"123\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n },\n });\n\n // Example Usage (GRPC API health check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // testing the overall health of the service\n var testGrpcHealth = new Datadog.SyntheticsTest(\"test_grpc_health\", new()\n {\n Name = \"GRPC API health check test\",\n Type = \"api\",\n Subtype = \"grpc\",\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 RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Host = \"example.org\",\n Port = 443,\n CallType = \"healthcheck\",\n Service = \"greeter.Greeter\",\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 },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\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\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, \"test_uptime\", \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.StringMap{\n\t\t\t\t\"Content-Type\": pulumi.String(\"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, \"test_api\", \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.StringMap{\n\t\t\t\t\"Content-Type\": pulumi.String(\"application/json\"),\n\t\t\t\t\"Authentication\": pulumi.String(\"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, \"test_ssl\", \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, \"test_tcp\", \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, \"test_dns\", \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, \"test_multi_step\", \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://www.example.org\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"Content-Type\": pulumi.String(\"application/json\"),\n\t\t\t\t\t\t\"Authentication\": pulumi.String(\"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\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"A gRPC health check on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tHost: pulumi.String(\"example.org\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\tCallType: pulumi.String(\"healthcheck\"),\n\t\t\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\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(\"A gRPC behavior check on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tHost: pulumi.String(\"example.org\"),\n\t\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\t\tCallType: pulumi.String(\"unary\"),\n\t\t\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"SayHello\"),\n\t\t\t\t\t\tMessage: pulumi.String(\"{\\\"name\\\": \\\"John\\\"}\"),\n\t\t\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n`),\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, \"test_browser\", \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://www.example.org\"),\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 behavior check test)\n\t\t// Create a new Datadog GRPC API test calling host example.org on port 443\n\t\t// targeting service `greeter.Greeter` with the method `SayHello`\n\t\t// and the message {\"name\": \"John\"}\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"test_grpc_unary\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"GRPC API behavior check test\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tCallType: pulumi.String(\"unary\"),\n\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\n\t\t\t\tMethod: pulumi.String(\"SayHello\"),\n\t\t\t\tMessage: pulumi.String(\"{\\\"name\\\": \\\"John\\\"}\"),\n\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n`),\n\t\t\t},\n\t\t\tRequestMetadata: pulumi.StringMap{\n\t\t\t\t\"header\": pulumi.String(\"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\tType: pulumi.String(\"grpcProto\"),\n\t\t\t\t\tTarget: pulumi.String(\"proto target\"),\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\tProperty: pulumi.String(\"property\"),\n\t\t\t\t\tType: pulumi.String(\"grpcMetadata\"),\n\t\t\t\t\tTarget: pulumi.String(\"123\"),\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 (GRPC API health check test)\n\t\t// Create a new Datadog GRPC API test calling host example.org on port 443\n\t\t// testing the overall health of the service\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"test_grpc_health\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tName: pulumi.String(\"GRPC API health check test\"),\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\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\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tHost: pulumi.String(\"example.org\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\tCallType: pulumi.String(\"healthcheck\"),\n\t\t\t\tService: pulumi.String(\"greeter.Greeter\"),\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},\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\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 // Example Usage (Synthetics API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\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 // Example Usage (Authenticated API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\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 // Example Usage (Synthetics SSL test)\n // Create a new Datadog Synthetics API/SSL test on example.org\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 // Example Usage (Synthetics TCP test)\n // Create a new Datadog Synthetics API/TCP test on example.org\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 // Example Usage (Synthetics DNS test)\n // Create a new Datadog Synthetics API/DNS test on example.org\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 // Example Usage (Synthetics Multistep API test)\n // Create a new Datadog Synthetics Multistep API test\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://www.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 SyntheticsTestApiStepArgs.builder()\n .name(\"A gRPC health check on example.org\")\n .subtype(\"grpc\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .callType(\"healthcheck\")\n .service(\"greeter.Greeter\")\n .build())\n .build(),\n SyntheticsTestApiStepArgs.builder()\n .name(\"A gRPC behavior check on example.org\")\n .subtype(\"grpc\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .host(\"example.org\")\n .port(443)\n .callType(\"unary\")\n .service(\"greeter.Greeter\")\n .method(\"SayHello\")\n .message(\"{\\\"name\\\": \\\"John\\\"}\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string message = 1;\n}\n \"\"\")\n .build())\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\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 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://www.example.org\")\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 // Example Usage (GRPC API behavior check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // targeting service `greeter.Greeter` with the method `SayHello`\n // and the message {\"name\": \"John\"}\n var testGrpcUnary = new SyntheticsTest(\"testGrpcUnary\", SyntheticsTestArgs.builder()\n .name(\"GRPC API behavior check test\")\n .type(\"api\")\n .subtype(\"grpc\")\n .status(\"live\")\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 .callType(\"unary\")\n .service(\"greeter.Greeter\")\n .method(\"SayHello\")\n .message(\"{\\\"name\\\": \\\"John\\\"}\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\n\npackage greeter;\n\n// The greeting service definition.\nservice Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n\n// The request message containing the user's name.\nmessage HelloRequest {\n string name = 1;\n}\n\n// The response message containing the greetings\nmessage HelloReply {\n string 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 .type(\"grpcProto\")\n .target(\"proto target\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .property(\"property\")\n .type(\"grpcMetadata\")\n .target(\"123\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\n .build());\n\n // Example Usage (GRPC API health check test)\n // Create a new Datadog GRPC API test calling host example.org on port 443\n // testing the overall health of the service\n var testGrpcHealth = new SyntheticsTest(\"testGrpcHealth\", SyntheticsTestArgs.builder()\n .name(\"GRPC API health check test\")\n .type(\"api\")\n .subtype(\"grpc\")\n .status(\"live\")\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 .callType(\"healthcheck\")\n .service(\"greeter.Greeter\")\n .build())\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 .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .build())\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 name: test_uptime\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 name: test_api\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 name: test_ssl\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 name: test_tcp\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 name: test_dns\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 name: test_multi_step\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://www.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 - name: A gRPC health check on example.org\n subtype: grpc\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n host: example.org\n port: 443\n callType: healthcheck\n service: greeter.Greeter\n - name: A gRPC behavior check on example.org\n subtype: grpc\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n host: example.org\n port: 443\n callType: unary\n service: greeter.Greeter\n method: SayHello\n message: '{\"name\": \"John\"}'\n plainProtoFile: |\n syntax = \"proto3\";\n\n package greeter;\n\n // The greeting service definition.\n service Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n\n // The request message containing the user's name.\n message HelloRequest {\n string name = 1;\n }\n\n // The response message containing the greetings\n message HelloReply {\n string message = 1;\n }\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 name: test_browser\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://www.example.org\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 behavior check test)\n # Create a new Datadog GRPC API test calling host example.org on port 443\n # targeting service `greeter.Greeter` with the method `SayHello`\n # and the message {\"name\": \"John\"}\n testGrpcUnary:\n type: datadog:SyntheticsTest\n name: test_grpc_unary\n properties:\n name: GRPC API behavior check test\n type: api\n subtype: grpc\n status: live\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 callType: unary\n service: greeter.Greeter\n method: SayHello\n message: '{\"name\": \"John\"}'\n plainProtoFile: |\n syntax = \"proto3\";\n\n package greeter;\n\n // The greeting service definition.\n service Greeter {\n // Sends a greeting\n rpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n\n // The request message containing the user's name.\n message HelloRequest {\n string name = 1;\n }\n\n // The response message containing the greetings\n message HelloReply {\n string 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 type: grpcProto\n target: proto target\n - operator: is\n property: property\n type: grpcMetadata\n target: '123'\n optionsList:\n tickEvery: 900\n # Example Usage (GRPC API health check test)\n # Create a new Datadog GRPC API test calling host example.org on port 443\n # testing the overall health of the service\n testGrpcHealth:\n type: datadog:SyntheticsTest\n name: test_grpc_health\n properties:\n name: GRPC API health check test\n type: api\n subtype: grpc\n status: live\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 callType: healthcheck\n service: greeter.Greeter\n assertions:\n - type: responseTime\n operator: lessThan\n target: '2000'\n - operator: is\n type: grpcHealthcheckStatus\n target: 1\n optionsList:\n tickEvery: 900\n```\n\u003c!--End PulumiCodeChooser --\u003e\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", @@ -37912,14 +37912,14 @@ "requestHeaders": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Header name and value map.\n" }, "requestMetadata": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Metadata to include when performing the gRPC request.\n" }, @@ -37930,7 +37930,7 @@ "requestQuery": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Query arguments name and value map.\n" }, @@ -38056,14 +38056,14 @@ "requestHeaders": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Header name and value map.\n" }, "requestMetadata": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Metadata to include when performing the gRPC request.\n" }, @@ -38074,7 +38074,7 @@ "requestQuery": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Query arguments name and value map.\n" }, @@ -38205,14 +38205,14 @@ "requestHeaders": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Header name and value map.\n" }, "requestMetadata": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Metadata to include when performing the gRPC request.\n" }, @@ -38223,7 +38223,7 @@ "requestQuery": { "type": "object", "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "Query arguments name and value map.\n" }, @@ -40882,7 +40882,7 @@ }, "locations": { "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "string" }, "description": "A map of available Synthetics location IDs to names for Synthetics tests.\n", "type": "object" diff --git a/provider/go.mod b/provider/go.mod index 22b10a7e8..452b84efe 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -4,10 +4,10 @@ go 1.21.12 require ( github.com/pulumi/providertest v0.0.14 - github.com/pulumi/pulumi-terraform-bridge/pf v0.42.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.0 - github.com/pulumi/pulumi/pkg/v3 v3.128.0 - github.com/pulumi/pulumi/sdk/v3 v3.128.0 + github.com/pulumi/pulumi-terraform-bridge/pf v0.42.1 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.1 + github.com/pulumi/pulumi/pkg/v3 v3.129.0 + github.com/pulumi/pulumi/sdk/v3 v3.129.0 github.com/stretchr/testify v1.9.0 github.com/terraform-providers/terraform-provider-datadog v0.0.0 golang.org/x/text v0.16.0 @@ -186,9 +186,9 @@ require ( github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.9.1 // indirect github.com/pulumi/inflector v0.1.1 // indirect - github.com/pulumi/pulumi-java/pkg v0.11.0 // indirect + github.com/pulumi/pulumi-java/pkg v0.14.0 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.9.1 // indirect + github.com/pulumi/pulumi-yaml v1.9.2 // 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 @@ -206,6 +206,7 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/teekennedy/goldmark-markdown v0.3.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect @@ -230,14 +231,14 @@ require ( go.uber.org/atomic v1.10.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.27.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.22.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect diff --git a/provider/go.sum b/provider/go.sum index 83b3c1d52..076ceb9d8 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1385,8 +1385,8 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= -github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= @@ -1924,20 +1924,20 @@ github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+Sob github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/providertest v0.0.14 h1:5QlAPAAs82jkQraHsJvq1xgVfC7xtW8sFJwv2pHgxQ8= github.com/pulumi/providertest v0.0.14/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= -github.com/pulumi/pulumi-java/pkg v0.11.0 h1:Jw9gBvyfmfOMq/EkYDm9+zGPxsDAA8jfeMpHmtZ+1oA= -github.com/pulumi/pulumi-java/pkg v0.11.0/go.mod h1:sXAk25P47AQVQL6ilAbFmRNgZykC7og/+87ihnqzFTc= -github.com/pulumi/pulumi-terraform-bridge/pf v0.42.0 h1:+nuhPROS9Dl8EatzGqtYxmXipAGBTDD7ICowpGMFxf8= -github.com/pulumi/pulumi-terraform-bridge/pf v0.42.0/go.mod h1:aK6RyeNLjmEHeMuwAbDgUXlAD8BTv+rK3HCs02JopSw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.0 h1:Om0Yw07/5dVABB2ou8+XBCmbp9TUUtDZJEh2B5jPGgI= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.0/go.mod h1:EWGqRo+ogMPty23b6rVUajgJXUDSNXU+WqcZTPlzyEI= +github.com/pulumi/pulumi-java/pkg v0.14.0 h1:CKL7lLF81Fq6VRhA5TNFsSMnHraTNCUzIhqCzYX8Wzk= +github.com/pulumi/pulumi-java/pkg v0.14.0/go.mod h1:VybuJMWJtJc9ZNbt1kcYH4TbpocMx9mEi7YWL2Co99c= +github.com/pulumi/pulumi-terraform-bridge/pf v0.42.1 h1:IMn3MmvoO66iptcU5kBdun60PqwNJBJ20A4hD3AqkDE= +github.com/pulumi/pulumi-terraform-bridge/pf v0.42.1/go.mod h1:SXxx1PJNNdGoD4/CxELgy0F46uzcTbDkz63DJsjIRXE= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.1 h1:FLQknb6r3r/uaj1XLbouFF88eF1Fk0h4JOVS9kHKDRY= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.1/go.mod h1:JAxygKR/XGW6zIv6iOP6sHAYjZ7OCtqU7j6Od1lUk38= 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.9.1 h1:JPeI80M23SPactxgnCFS1casZlSr7ZhAXwSx4H55QQ4= -github.com/pulumi/pulumi-yaml v1.9.1/go.mod h1:OH0R34yJxA5u6zjYBN4JXcWoEvfkRoOVWi6viu8buoA= -github.com/pulumi/pulumi/pkg/v3 v3.128.0 h1:K3qtJYjHg4DkA7LxknY/MoQZ+QHdHQDh/k2njjmjHXM= -github.com/pulumi/pulumi/pkg/v3 v3.128.0/go.mod h1:/spoJXy/mqQ8fBLgXBEbUrAnL7pHdfXOviIo5fZROEY= -github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk= -github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= +github.com/pulumi/pulumi-yaml v1.9.2 h1:BCUuRPA1USmFXrExiHRU8yJ+OiphLYnroPxKRgGCJrs= +github.com/pulumi/pulumi-yaml v1.9.2/go.mod h1:sIh/Oa/NLRGTojevh8D2/cPDPvo2j9iXegVDQIKKfw4= +github.com/pulumi/pulumi/pkg/v3 v3.129.0 h1:n4Jd4ctlvw3eqyHglb/yJKDtRqjOvdkCBfG5T+orU30= +github.com/pulumi/pulumi/pkg/v3 v3.129.0/go.mod h1:W3c7JgO064kUH5IfyQMCgmsAr5iwr3PO6KEeIQiO0dY= +github.com/pulumi/pulumi/sdk/v3 v3.129.0 h1:uZpTTwWTx7Mk8UT9FgatzxzArim47vZ6hzNCKvgvX6A= +github.com/pulumi/pulumi/sdk/v3 v3.129.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= 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= @@ -1946,6 +1946,8 @@ github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 h1: github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rhysd/go-fakeio v1.0.0 h1:+TjiKCOs32dONY7DaoVz/VPOdvRkPfBkEyUDIpM8FQY= +github.com/rhysd/go-fakeio v1.0.0/go.mod h1:joYxF906trVwp2JLrE4jlN7A0z6wrz8O6o1UjarbFzE= 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= @@ -2022,6 +2024,8 @@ github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/teekennedy/goldmark-markdown v0.3.0 h1:ik9/biVGCwGWFg8dQ3KVm2pQ/wiiG0whYiUcz9xH0W8= +github.com/teekennedy/goldmark-markdown v0.3.0/go.mod h1:kMhDz8La77A9UHvJGsxejd0QUflN9sS+QXCqnhmxmNo= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM= @@ -2148,8 +2152,8 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2295,8 +2299,8 @@ golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2467,8 +2471,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2489,8 +2493,8 @@ golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/sdk/dotnet/Aws/Integration.cs b/sdk/dotnet/Aws/Integration.cs index 03e6f81ab..55284dff0 100644 --- a/sdk/dotnet/Aws/Integration.cs +++ b/sdk/dotnet/Aws/Integration.cs @@ -38,8 +38,8 @@ namespace Pulumi.Datadog.Aws /// }, /// AccountSpecificNamespaceRules = /// { - /// { "auto_scaling", false }, - /// { "opsworks", false }, + /// { "auto_scaling", "false" }, + /// { "opsworks", "false" }, /// }, /// ExcludedRegions = new[] /// { @@ -78,7 +78,7 @@ public partial class Integration : global::Pulumi.CustomResource /// Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). /// [Output("accountSpecificNamespaceRules")] - public Output?> AccountSpecificNamespaceRules { get; private set; } = null!; + public Output?> AccountSpecificNamespaceRules { get; private set; } = null!; /// /// Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. @@ -200,14 +200,14 @@ public sealed class IntegrationArgs : global::Pulumi.ResourceArgs public Input? AccountId { get; set; } [Input("accountSpecificNamespaceRules")] - private InputMap? _accountSpecificNamespaceRules; + private InputMap? _accountSpecificNamespaceRules; /// /// Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). /// - public InputMap AccountSpecificNamespaceRules + public InputMap AccountSpecificNamespaceRules { - get => _accountSpecificNamespaceRules ?? (_accountSpecificNamespaceRules = new InputMap()); + get => _accountSpecificNamespaceRules ?? (_accountSpecificNamespaceRules = new InputMap()); set => _accountSpecificNamespaceRules = value; } @@ -314,14 +314,14 @@ public sealed class IntegrationState : global::Pulumi.ResourceArgs public Input? AccountId { get; set; } [Input("accountSpecificNamespaceRules")] - private InputMap? _accountSpecificNamespaceRules; + private InputMap? _accountSpecificNamespaceRules; /// /// Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). /// - public InputMap AccountSpecificNamespaceRules + public InputMap AccountSpecificNamespaceRules { - get => _accountSpecificNamespaceRules ?? (_accountSpecificNamespaceRules = new InputMap()); + get => _accountSpecificNamespaceRules ?? (_accountSpecificNamespaceRules = new InputMap()); set => _accountSpecificNamespaceRules = value; } diff --git a/sdk/dotnet/GetSyntheticsLocations.cs b/sdk/dotnet/GetSyntheticsLocations.cs index 3427b6e60..086cb52ca 100644 --- a/sdk/dotnet/GetSyntheticsLocations.cs +++ b/sdk/dotnet/GetSyntheticsLocations.cs @@ -35,13 +35,13 @@ public sealed class GetSyntheticsLocationsResult /// /// A map of available Synthetics location IDs to names for Synthetics tests. /// - public readonly ImmutableDictionary Locations; + public readonly ImmutableDictionary Locations; [OutputConstructor] private GetSyntheticsLocationsResult( string id, - ImmutableDictionary locations) + ImmutableDictionary locations) { Id = id; Locations = locations; diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs index 397b0e20f..edd6a90c2 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs @@ -85,26 +85,26 @@ public InputList RequestFiles } [Input("requestHeaders")] - private InputMap? _requestHeaders; + private InputMap? _requestHeaders; /// /// Header name and value map. /// - public InputMap RequestHeaders + public InputMap RequestHeaders { - get => _requestHeaders ?? (_requestHeaders = new InputMap()); + get => _requestHeaders ?? (_requestHeaders = new InputMap()); set => _requestHeaders = value; } [Input("requestMetadata")] - private InputMap? _requestMetadata; + private InputMap? _requestMetadata; /// /// Metadata to include when performing the gRPC request. /// - public InputMap RequestMetadata + public InputMap RequestMetadata { - get => _requestMetadata ?? (_requestMetadata = new InputMap()); + get => _requestMetadata ?? (_requestMetadata = new InputMap()); set => _requestMetadata = value; } @@ -115,14 +115,14 @@ public InputMap RequestMetadata public Input? RequestProxy { get; set; } [Input("requestQuery")] - private InputMap? _requestQuery; + private InputMap? _requestQuery; /// /// Query arguments name and value map. /// - public InputMap RequestQuery + public InputMap RequestQuery { - get => _requestQuery ?? (_requestQuery = new InputMap()); + get => _requestQuery ?? (_requestQuery = new InputMap()); set => _requestQuery = value; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs index d3f733562..fc97d0f3a 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs @@ -85,26 +85,26 @@ public InputList RequestFiles } [Input("requestHeaders")] - private InputMap? _requestHeaders; + private InputMap? _requestHeaders; /// /// Header name and value map. /// - public InputMap RequestHeaders + public InputMap RequestHeaders { - get => _requestHeaders ?? (_requestHeaders = new InputMap()); + get => _requestHeaders ?? (_requestHeaders = new InputMap()); set => _requestHeaders = value; } [Input("requestMetadata")] - private InputMap? _requestMetadata; + private InputMap? _requestMetadata; /// /// Metadata to include when performing the gRPC request. /// - public InputMap RequestMetadata + public InputMap RequestMetadata { - get => _requestMetadata ?? (_requestMetadata = new InputMap()); + get => _requestMetadata ?? (_requestMetadata = new InputMap()); set => _requestMetadata = value; } @@ -115,14 +115,14 @@ public InputMap RequestMetadata public Input? RequestProxy { get; set; } [Input("requestQuery")] - private InputMap? _requestQuery; + private InputMap? _requestQuery; /// /// Query arguments name and value map. /// - public InputMap RequestQuery + public InputMap RequestQuery { - get => _requestQuery ?? (_requestQuery = new InputMap()); + get => _requestQuery ?? (_requestQuery = new InputMap()); set => _requestQuery = value; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyArgs.cs index 29e0f5aee..16df8ad21 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyArgs.cs @@ -13,14 +13,14 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestApiStepRequestProxyArgs : global::Pulumi.ResourceArgs { [Input("headers")] - private InputMap? _headers; + private InputMap? _headers; /// /// Header name and value map. /// - public InputMap Headers + public InputMap Headers { - get => _headers ?? (_headers = new InputMap()); + get => _headers ?? (_headers = new InputMap()); set => _headers = value; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyGetArgs.cs index b809d3772..a2d8f7f9b 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepRequestProxyGetArgs.cs @@ -13,14 +13,14 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestApiStepRequestProxyGetArgs : global::Pulumi.ResourceArgs { [Input("headers")] - private InputMap? _headers; + private InputMap? _headers; /// /// Header name and value map. /// - public InputMap Headers + public InputMap Headers { - get => _headers ?? (_headers = new InputMap()); + get => _headers ?? (_headers = new InputMap()); set => _headers = value; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestRequestProxyArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestRequestProxyArgs.cs index 2ecea5d00..8c4625073 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestRequestProxyArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestRequestProxyArgs.cs @@ -13,14 +13,14 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestRequestProxyArgs : global::Pulumi.ResourceArgs { [Input("headers")] - private InputMap? _headers; + private InputMap? _headers; /// /// Header name and value map. /// - public InputMap Headers + public InputMap Headers { - get => _headers ?? (_headers = new InputMap()); + get => _headers ?? (_headers = new InputMap()); set => _headers = value; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestRequestProxyGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestRequestProxyGetArgs.cs index 5183ddf55..b10916c24 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestRequestProxyGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestRequestProxyGetArgs.cs @@ -13,14 +13,14 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestRequestProxyGetArgs : global::Pulumi.ResourceArgs { [Input("headers")] - private InputMap? _headers; + private InputMap? _headers; /// /// Header name and value map. /// - public InputMap Headers + public InputMap Headers { - get => _headers ?? (_headers = new InputMap()); + get => _headers ?? (_headers = new InputMap()); set => _headers = value; } diff --git a/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs b/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs index 88fa09b75..07b7fcaf8 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs @@ -52,11 +52,11 @@ public sealed class SyntheticsTestApiStep /// /// Header name and value map. /// - public readonly ImmutableDictionary? RequestHeaders; + public readonly ImmutableDictionary? RequestHeaders; /// /// Metadata to include when performing the gRPC request. /// - public readonly ImmutableDictionary? RequestMetadata; + public readonly ImmutableDictionary? RequestMetadata; /// /// The proxy to perform the test. /// @@ -64,7 +64,7 @@ public sealed class SyntheticsTestApiStep /// /// Query arguments name and value map. /// - public readonly ImmutableDictionary? RequestQuery; + public readonly ImmutableDictionary? RequestQuery; public readonly Outputs.SyntheticsTestApiStepRetry? Retry; /// /// The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. @@ -95,13 +95,13 @@ private SyntheticsTestApiStep( ImmutableArray requestFiles, - ImmutableDictionary? requestHeaders, + ImmutableDictionary? requestHeaders, - ImmutableDictionary? requestMetadata, + ImmutableDictionary? requestMetadata, Outputs.SyntheticsTestApiStepRequestProxy? requestProxy, - ImmutableDictionary? requestQuery, + ImmutableDictionary? requestQuery, Outputs.SyntheticsTestApiStepRetry? retry, diff --git a/sdk/dotnet/Outputs/SyntheticsTestApiStepRequestProxy.cs b/sdk/dotnet/Outputs/SyntheticsTestApiStepRequestProxy.cs index ff7cc973e..a732e48f4 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestApiStepRequestProxy.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestApiStepRequestProxy.cs @@ -16,7 +16,7 @@ public sealed class SyntheticsTestApiStepRequestProxy /// /// Header name and value map. /// - public readonly ImmutableDictionary? Headers; + public readonly ImmutableDictionary? Headers; /// /// URL of the proxy to perform the test. /// @@ -24,7 +24,7 @@ public sealed class SyntheticsTestApiStepRequestProxy [OutputConstructor] private SyntheticsTestApiStepRequestProxy( - ImmutableDictionary? headers, + ImmutableDictionary? headers, string url) { diff --git a/sdk/dotnet/Outputs/SyntheticsTestRequestProxy.cs b/sdk/dotnet/Outputs/SyntheticsTestRequestProxy.cs index c6cf08b0a..b49a147fb 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestRequestProxy.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestRequestProxy.cs @@ -16,7 +16,7 @@ public sealed class SyntheticsTestRequestProxy /// /// Header name and value map. /// - public readonly ImmutableDictionary? Headers; + public readonly ImmutableDictionary? Headers; /// /// URL of the proxy to perform the test. /// @@ -24,7 +24,7 @@ public sealed class SyntheticsTestRequestProxy [OutputConstructor] private SyntheticsTestRequestProxy( - ImmutableDictionary? headers, + ImmutableDictionary? headers, string url) { diff --git a/sdk/dotnet/SyntheticsTest.cs b/sdk/dotnet/SyntheticsTest.cs index 0fbd31515..34d366bf5 100644 --- a/sdk/dotnet/SyntheticsTest.cs +++ b/sdk/dotnet/SyntheticsTest.cs @@ -732,13 +732,13 @@ public partial class SyntheticsTest : global::Pulumi.CustomResource /// Header name and value map. /// [Output("requestHeaders")] - public Output?> RequestHeaders { get; private set; } = null!; + public Output?> RequestHeaders { get; private set; } = null!; /// /// Metadata to include when performing the gRPC request. /// [Output("requestMetadata")] - public Output?> RequestMetadata { get; private set; } = null!; + public Output?> RequestMetadata { get; private set; } = null!; /// /// The proxy to perform the test. @@ -750,7 +750,7 @@ public partial class SyntheticsTest : global::Pulumi.CustomResource /// Query arguments name and value map. /// [Output("requestQuery")] - public Output?> RequestQuery { get; private set; } = null!; + public Output?> RequestQuery { get; private set; } = null!; /// /// Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. @@ -970,26 +970,26 @@ public InputList RequestFiles } [Input("requestHeaders")] - private InputMap? _requestHeaders; + private InputMap? _requestHeaders; /// /// Header name and value map. /// - public InputMap RequestHeaders + public InputMap RequestHeaders { - get => _requestHeaders ?? (_requestHeaders = new InputMap()); + get => _requestHeaders ?? (_requestHeaders = new InputMap()); set => _requestHeaders = value; } [Input("requestMetadata")] - private InputMap? _requestMetadata; + private InputMap? _requestMetadata; /// /// Metadata to include when performing the gRPC request. /// - public InputMap RequestMetadata + public InputMap RequestMetadata { - get => _requestMetadata ?? (_requestMetadata = new InputMap()); + get => _requestMetadata ?? (_requestMetadata = new InputMap()); set => _requestMetadata = value; } @@ -1000,14 +1000,14 @@ public InputMap RequestMetadata public Input? RequestProxy { get; set; } [Input("requestQuery")] - private InputMap? _requestQuery; + private InputMap? _requestQuery; /// /// Query arguments name and value map. /// - public InputMap RequestQuery + public InputMap RequestQuery { - get => _requestQuery ?? (_requestQuery = new InputMap()); + get => _requestQuery ?? (_requestQuery = new InputMap()); set => _requestQuery = value; } @@ -1203,26 +1203,26 @@ public InputList RequestFiles } [Input("requestHeaders")] - private InputMap? _requestHeaders; + private InputMap? _requestHeaders; /// /// Header name and value map. /// - public InputMap RequestHeaders + public InputMap RequestHeaders { - get => _requestHeaders ?? (_requestHeaders = new InputMap()); + get => _requestHeaders ?? (_requestHeaders = new InputMap()); set => _requestHeaders = value; } [Input("requestMetadata")] - private InputMap? _requestMetadata; + private InputMap? _requestMetadata; /// /// Metadata to include when performing the gRPC request. /// - public InputMap RequestMetadata + public InputMap RequestMetadata { - get => _requestMetadata ?? (_requestMetadata = new InputMap()); + get => _requestMetadata ?? (_requestMetadata = new InputMap()); set => _requestMetadata = value; } @@ -1233,14 +1233,14 @@ public InputMap RequestMetadata public Input? RequestProxy { get; set; } [Input("requestQuery")] - private InputMap? _requestQuery; + private InputMap? _requestQuery; /// /// Query arguments name and value map. /// - public InputMap RequestQuery + public InputMap RequestQuery { - get => _requestQuery ?? (_requestQuery = new InputMap()); + get => _requestQuery ?? (_requestQuery = new InputMap()); set => _requestQuery = value; } diff --git a/sdk/go.mod b/sdk/go.mod index c9e935145..d4c0c8922 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.128.0 + github.com/pulumi/pulumi/sdk/v3 v3.129.0 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 2543199c3..07e28f48e 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,8 +150,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.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk= -github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= +github.com/pulumi/pulumi/sdk/v3 v3.129.0 h1:uZpTTwWTx7Mk8UT9FgatzxzArim47vZ6hzNCKvgvX6A= +github.com/pulumi/pulumi/sdk/v3 v3.129.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= 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/aws/integration.go b/sdk/go/datadog/aws/integration.go index 9a2b0456a..6d075380a 100644 --- a/sdk/go/datadog/aws/integration.go +++ b/sdk/go/datadog/aws/integration.go @@ -38,9 +38,9 @@ import ( // pulumi.String("key:value"), // pulumi.String("key2:value2"), // }, -// AccountSpecificNamespaceRules: pulumi.Map{ -// "auto_scaling": pulumi.Any(false), -// "opsworks": pulumi.Any(false), +// AccountSpecificNamespaceRules: pulumi.StringMap{ +// "auto_scaling": pulumi.String("false"), +// "opsworks": pulumi.String("false"), // }, // ExcludedRegions: pulumi.StringArray{ // pulumi.String("us-east-1"), @@ -71,7 +71,7 @@ type Integration struct { // Your AWS Account ID without dashes. AccountId pulumi.StringPtrOutput `pulumi:"accountId"` // Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). - AccountSpecificNamespaceRules pulumi.MapOutput `pulumi:"accountSpecificNamespaceRules"` + AccountSpecificNamespaceRules pulumi.StringMapOutput `pulumi:"accountSpecificNamespaceRules"` // Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. CspmResourceCollectionEnabled pulumi.StringOutput `pulumi:"cspmResourceCollectionEnabled"` // An array of AWS regions to exclude from metrics collection. @@ -137,7 +137,7 @@ type integrationState struct { // Your AWS Account ID without dashes. AccountId *string `pulumi:"accountId"` // Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). - AccountSpecificNamespaceRules map[string]interface{} `pulumi:"accountSpecificNamespaceRules"` + AccountSpecificNamespaceRules map[string]string `pulumi:"accountSpecificNamespaceRules"` // Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. CspmResourceCollectionEnabled *string `pulumi:"cspmResourceCollectionEnabled"` // An array of AWS regions to exclude from metrics collection. @@ -167,7 +167,7 @@ type IntegrationState struct { // Your AWS Account ID without dashes. AccountId pulumi.StringPtrInput // Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). - AccountSpecificNamespaceRules pulumi.MapInput + AccountSpecificNamespaceRules pulumi.StringMapInput // Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. CspmResourceCollectionEnabled pulumi.StringPtrInput // An array of AWS regions to exclude from metrics collection. @@ -201,7 +201,7 @@ type integrationArgs struct { // Your AWS Account ID without dashes. AccountId *string `pulumi:"accountId"` // Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). - AccountSpecificNamespaceRules map[string]interface{} `pulumi:"accountSpecificNamespaceRules"` + AccountSpecificNamespaceRules map[string]string `pulumi:"accountSpecificNamespaceRules"` // Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. CspmResourceCollectionEnabled *string `pulumi:"cspmResourceCollectionEnabled"` // An array of AWS regions to exclude from metrics collection. @@ -231,7 +231,7 @@ type IntegrationArgs struct { // Your AWS Account ID without dashes. AccountId pulumi.StringPtrInput // Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). - AccountSpecificNamespaceRules pulumi.MapInput + AccountSpecificNamespaceRules pulumi.StringMapInput // Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. CspmResourceCollectionEnabled pulumi.StringPtrInput // An array of AWS regions to exclude from metrics collection. @@ -352,8 +352,8 @@ func (o IntegrationOutput) AccountId() pulumi.StringPtrOutput { } // Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). -func (o IntegrationOutput) AccountSpecificNamespaceRules() pulumi.MapOutput { - return o.ApplyT(func(v *Integration) pulumi.MapOutput { return v.AccountSpecificNamespaceRules }).(pulumi.MapOutput) +func (o IntegrationOutput) AccountSpecificNamespaceRules() pulumi.StringMapOutput { + return o.ApplyT(func(v *Integration) pulumi.StringMapOutput { return v.AccountSpecificNamespaceRules }).(pulumi.StringMapOutput) } // Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. diff --git a/sdk/go/datadog/getSyntheticsLocations.go b/sdk/go/datadog/getSyntheticsLocations.go index f65a93814..9cb6a0292 100644 --- a/sdk/go/datadog/getSyntheticsLocations.go +++ b/sdk/go/datadog/getSyntheticsLocations.go @@ -27,7 +27,7 @@ type GetSyntheticsLocationsResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // A map of available Synthetics location IDs to names for Synthetics tests. - Locations map[string]interface{} `pulumi:"locations"` + Locations map[string]string `pulumi:"locations"` } func GetSyntheticsLocationsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetSyntheticsLocationsResultOutput { @@ -62,8 +62,8 @@ func (o GetSyntheticsLocationsResultOutput) Id() pulumi.StringOutput { } // A map of available Synthetics location IDs to names for Synthetics tests. -func (o GetSyntheticsLocationsResultOutput) Locations() pulumi.MapOutput { - return o.ApplyT(func(v GetSyntheticsLocationsResult) map[string]interface{} { return v.Locations }).(pulumi.MapOutput) +func (o GetSyntheticsLocationsResultOutput) Locations() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSyntheticsLocationsResult) map[string]string { return v.Locations }).(pulumi.StringMapOutput) } func init() { diff --git a/sdk/go/datadog/pulumiTypes2.go b/sdk/go/datadog/pulumiTypes2.go index 417e56853..5731cd2a8 100644 --- a/sdk/go/datadog/pulumiTypes2.go +++ b/sdk/go/datadog/pulumiTypes2.go @@ -2133,13 +2133,13 @@ type SyntheticsTestApiStep struct { // Files to be used as part of the request in the test. RequestFiles []SyntheticsTestApiStepRequestFile `pulumi:"requestFiles"` // Header name and value map. - RequestHeaders map[string]interface{} `pulumi:"requestHeaders"` + RequestHeaders map[string]string `pulumi:"requestHeaders"` // Metadata to include when performing the gRPC request. - RequestMetadata map[string]interface{} `pulumi:"requestMetadata"` + RequestMetadata map[string]string `pulumi:"requestMetadata"` // The proxy to perform the test. RequestProxy *SyntheticsTestApiStepRequestProxy `pulumi:"requestProxy"` // Query arguments name and value map. - RequestQuery map[string]interface{} `pulumi:"requestQuery"` + RequestQuery map[string]string `pulumi:"requestQuery"` Retry *SyntheticsTestApiStepRetry `pulumi:"retry"` // The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. Subtype *string `pulumi:"subtype"` @@ -2178,13 +2178,13 @@ type SyntheticsTestApiStepArgs struct { // Files to be used as part of the request in the test. RequestFiles SyntheticsTestApiStepRequestFileArrayInput `pulumi:"requestFiles"` // Header name and value map. - RequestHeaders pulumi.MapInput `pulumi:"requestHeaders"` + RequestHeaders pulumi.StringMapInput `pulumi:"requestHeaders"` // Metadata to include when performing the gRPC request. - RequestMetadata pulumi.MapInput `pulumi:"requestMetadata"` + RequestMetadata pulumi.StringMapInput `pulumi:"requestMetadata"` // The proxy to perform the test. RequestProxy SyntheticsTestApiStepRequestProxyPtrInput `pulumi:"requestProxy"` // Query arguments name and value map. - RequestQuery pulumi.MapInput `pulumi:"requestQuery"` + RequestQuery pulumi.StringMapInput `pulumi:"requestQuery"` Retry SyntheticsTestApiStepRetryPtrInput `pulumi:"retry"` // The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. Subtype pulumi.StringPtrInput `pulumi:"subtype"` @@ -2291,13 +2291,13 @@ func (o SyntheticsTestApiStepOutput) RequestFiles() SyntheticsTestApiStepRequest } // Header name and value map. -func (o SyntheticsTestApiStepOutput) RequestHeaders() pulumi.MapOutput { - return o.ApplyT(func(v SyntheticsTestApiStep) map[string]interface{} { return v.RequestHeaders }).(pulumi.MapOutput) +func (o SyntheticsTestApiStepOutput) RequestHeaders() pulumi.StringMapOutput { + return o.ApplyT(func(v SyntheticsTestApiStep) map[string]string { return v.RequestHeaders }).(pulumi.StringMapOutput) } // Metadata to include when performing the gRPC request. -func (o SyntheticsTestApiStepOutput) RequestMetadata() pulumi.MapOutput { - return o.ApplyT(func(v SyntheticsTestApiStep) map[string]interface{} { return v.RequestMetadata }).(pulumi.MapOutput) +func (o SyntheticsTestApiStepOutput) RequestMetadata() pulumi.StringMapOutput { + return o.ApplyT(func(v SyntheticsTestApiStep) map[string]string { return v.RequestMetadata }).(pulumi.StringMapOutput) } // The proxy to perform the test. @@ -2306,8 +2306,8 @@ func (o SyntheticsTestApiStepOutput) RequestProxy() SyntheticsTestApiStepRequest } // Query arguments name and value map. -func (o SyntheticsTestApiStepOutput) RequestQuery() pulumi.MapOutput { - return o.ApplyT(func(v SyntheticsTestApiStep) map[string]interface{} { return v.RequestQuery }).(pulumi.MapOutput) +func (o SyntheticsTestApiStepOutput) RequestQuery() pulumi.StringMapOutput { + return o.ApplyT(func(v SyntheticsTestApiStep) map[string]string { return v.RequestQuery }).(pulumi.StringMapOutput) } func (o SyntheticsTestApiStepOutput) Retry() SyntheticsTestApiStepRetryPtrOutput { @@ -4835,7 +4835,7 @@ func (o SyntheticsTestApiStepRequestFileArrayOutput) Index(i pulumi.IntInput) Sy type SyntheticsTestApiStepRequestProxy struct { // Header name and value map. - Headers map[string]interface{} `pulumi:"headers"` + Headers map[string]string `pulumi:"headers"` // URL of the proxy to perform the test. Url string `pulumi:"url"` } @@ -4853,7 +4853,7 @@ type SyntheticsTestApiStepRequestProxyInput interface { type SyntheticsTestApiStepRequestProxyArgs struct { // Header name and value map. - Headers pulumi.MapInput `pulumi:"headers"` + Headers pulumi.StringMapInput `pulumi:"headers"` // URL of the proxy to perform the test. Url pulumi.StringInput `pulumi:"url"` } @@ -4936,8 +4936,8 @@ func (o SyntheticsTestApiStepRequestProxyOutput) ToSyntheticsTestApiStepRequestP } // Header name and value map. -func (o SyntheticsTestApiStepRequestProxyOutput) Headers() pulumi.MapOutput { - return o.ApplyT(func(v SyntheticsTestApiStepRequestProxy) map[string]interface{} { return v.Headers }).(pulumi.MapOutput) +func (o SyntheticsTestApiStepRequestProxyOutput) Headers() pulumi.StringMapOutput { + return o.ApplyT(func(v SyntheticsTestApiStepRequestProxy) map[string]string { return v.Headers }).(pulumi.StringMapOutput) } // URL of the proxy to perform the test. @@ -4970,13 +4970,13 @@ func (o SyntheticsTestApiStepRequestProxyPtrOutput) Elem() SyntheticsTestApiStep } // Header name and value map. -func (o SyntheticsTestApiStepRequestProxyPtrOutput) Headers() pulumi.MapOutput { - return o.ApplyT(func(v *SyntheticsTestApiStepRequestProxy) map[string]interface{} { +func (o SyntheticsTestApiStepRequestProxyPtrOutput) Headers() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTestApiStepRequestProxy) map[string]string { if v == nil { return nil } return v.Headers - }).(pulumi.MapOutput) + }).(pulumi.StringMapOutput) } // URL of the proxy to perform the test. @@ -9909,7 +9909,7 @@ func (o SyntheticsTestRequestFileArrayOutput) Index(i pulumi.IntInput) Synthetic type SyntheticsTestRequestProxy struct { // Header name and value map. - Headers map[string]interface{} `pulumi:"headers"` + Headers map[string]string `pulumi:"headers"` // URL of the proxy to perform the test. Url string `pulumi:"url"` } @@ -9927,7 +9927,7 @@ type SyntheticsTestRequestProxyInput interface { type SyntheticsTestRequestProxyArgs struct { // Header name and value map. - Headers pulumi.MapInput `pulumi:"headers"` + Headers pulumi.StringMapInput `pulumi:"headers"` // URL of the proxy to perform the test. Url pulumi.StringInput `pulumi:"url"` } @@ -10010,8 +10010,8 @@ func (o SyntheticsTestRequestProxyOutput) ToSyntheticsTestRequestProxyPtrOutputW } // Header name and value map. -func (o SyntheticsTestRequestProxyOutput) Headers() pulumi.MapOutput { - return o.ApplyT(func(v SyntheticsTestRequestProxy) map[string]interface{} { return v.Headers }).(pulumi.MapOutput) +func (o SyntheticsTestRequestProxyOutput) Headers() pulumi.StringMapOutput { + return o.ApplyT(func(v SyntheticsTestRequestProxy) map[string]string { return v.Headers }).(pulumi.StringMapOutput) } // URL of the proxy to perform the test. @@ -10044,13 +10044,13 @@ func (o SyntheticsTestRequestProxyPtrOutput) Elem() SyntheticsTestRequestProxyOu } // Header name and value map. -func (o SyntheticsTestRequestProxyPtrOutput) Headers() pulumi.MapOutput { - return o.ApplyT(func(v *SyntheticsTestRequestProxy) map[string]interface{} { +func (o SyntheticsTestRequestProxyPtrOutput) Headers() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTestRequestProxy) map[string]string { if v == nil { return nil } return v.Headers - }).(pulumi.MapOutput) + }).(pulumi.StringMapOutput) } // URL of the proxy to perform the test. diff --git a/sdk/go/datadog/syntheticsTest.go b/sdk/go/datadog/syntheticsTest.go index cf8252884..f6fbd8392 100644 --- a/sdk/go/datadog/syntheticsTest.go +++ b/sdk/go/datadog/syntheticsTest.go @@ -61,8 +61,8 @@ import ( // Method: pulumi.String("GET"), // Url: pulumi.String("https://www.example.org"), // }, -// RequestHeaders: pulumi.Map{ -// "Content-Type": pulumi.Any("application/json"), +// RequestHeaders: pulumi.StringMap{ +// "Content-Type": pulumi.String("application/json"), // }, // Assertions: datadog.SyntheticsTestAssertionArray{ // &datadog.SyntheticsTestAssertionArgs{ @@ -105,9 +105,9 @@ import ( // Method: pulumi.String("GET"), // Url: pulumi.String("https://www.example.org"), // }, -// RequestHeaders: pulumi.Map{ -// "Content-Type": pulumi.Any("application/json"), -// "Authentication": pulumi.Any("Token: 1234566789"), +// RequestHeaders: pulumi.StringMap{ +// "Content-Type": pulumi.String("application/json"), +// "Authentication": pulumi.String("Token: 1234566789"), // }, // Assertions: datadog.SyntheticsTestAssertionArray{ // &datadog.SyntheticsTestAssertionArgs{ @@ -270,9 +270,9 @@ import ( // Method: pulumi.String("GET"), // Url: pulumi.String("https://www.example.org"), // }, -// RequestHeaders: pulumi.Map{ -// "Content-Type": pulumi.Any("application/json"), -// "Authentication": pulumi.Any("Token: 1234566789"), +// RequestHeaders: pulumi.StringMap{ +// "Content-Type": pulumi.String("application/json"), +// "Authentication": pulumi.String("Token: 1234566789"), // }, // }, // &datadog.SyntheticsTestApiStepArgs{ @@ -486,8 +486,8 @@ import ( // `), // // }, -// RequestMetadata: pulumi.Map{ -// "header": pulumi.Any("value"), +// RequestMetadata: pulumi.StringMap{ +// "header": pulumi.String("value"), // }, // Assertions: datadog.SyntheticsTestAssertionArray{ // &datadog.SyntheticsTestAssertionArgs{ @@ -608,13 +608,13 @@ type SyntheticsTest struct { // Files to be used as part of the request in the test. RequestFiles SyntheticsTestRequestFileArrayOutput `pulumi:"requestFiles"` // Header name and value map. - RequestHeaders pulumi.MapOutput `pulumi:"requestHeaders"` + RequestHeaders pulumi.StringMapOutput `pulumi:"requestHeaders"` // Metadata to include when performing the gRPC request. - RequestMetadata pulumi.MapOutput `pulumi:"requestMetadata"` + RequestMetadata pulumi.StringMapOutput `pulumi:"requestMetadata"` // The proxy to perform the test. RequestProxy SyntheticsTestRequestProxyPtrOutput `pulumi:"requestProxy"` // Query arguments name and value map. - RequestQuery pulumi.MapOutput `pulumi:"requestQuery"` + RequestQuery pulumi.StringMapOutput `pulumi:"requestQuery"` // Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. SetCookie pulumi.StringPtrOutput `pulumi:"setCookie"` // Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. @@ -703,13 +703,13 @@ type syntheticsTestState struct { // Files to be used as part of the request in the test. RequestFiles []SyntheticsTestRequestFile `pulumi:"requestFiles"` // Header name and value map. - RequestHeaders map[string]interface{} `pulumi:"requestHeaders"` + RequestHeaders map[string]string `pulumi:"requestHeaders"` // Metadata to include when performing the gRPC request. - RequestMetadata map[string]interface{} `pulumi:"requestMetadata"` + RequestMetadata map[string]string `pulumi:"requestMetadata"` // The proxy to perform the test. RequestProxy *SyntheticsTestRequestProxy `pulumi:"requestProxy"` // Query arguments name and value map. - RequestQuery map[string]interface{} `pulumi:"requestQuery"` + RequestQuery map[string]string `pulumi:"requestQuery"` // Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. SetCookie *string `pulumi:"setCookie"` // Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. @@ -757,13 +757,13 @@ type SyntheticsTestState struct { // Files to be used as part of the request in the test. RequestFiles SyntheticsTestRequestFileArrayInput // Header name and value map. - RequestHeaders pulumi.MapInput + RequestHeaders pulumi.StringMapInput // Metadata to include when performing the gRPC request. - RequestMetadata pulumi.MapInput + RequestMetadata pulumi.StringMapInput // The proxy to perform the test. RequestProxy SyntheticsTestRequestProxyPtrInput // Query arguments name and value map. - RequestQuery pulumi.MapInput + RequestQuery pulumi.StringMapInput // Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. SetCookie pulumi.StringPtrInput // Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. @@ -813,13 +813,13 @@ type syntheticsTestArgs struct { // Files to be used as part of the request in the test. RequestFiles []SyntheticsTestRequestFile `pulumi:"requestFiles"` // Header name and value map. - RequestHeaders map[string]interface{} `pulumi:"requestHeaders"` + RequestHeaders map[string]string `pulumi:"requestHeaders"` // Metadata to include when performing the gRPC request. - RequestMetadata map[string]interface{} `pulumi:"requestMetadata"` + RequestMetadata map[string]string `pulumi:"requestMetadata"` // The proxy to perform the test. RequestProxy *SyntheticsTestRequestProxy `pulumi:"requestProxy"` // Query arguments name and value map. - RequestQuery map[string]interface{} `pulumi:"requestQuery"` + RequestQuery map[string]string `pulumi:"requestQuery"` // Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. SetCookie *string `pulumi:"setCookie"` // Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. @@ -866,13 +866,13 @@ type SyntheticsTestArgs struct { // Files to be used as part of the request in the test. RequestFiles SyntheticsTestRequestFileArrayInput // Header name and value map. - RequestHeaders pulumi.MapInput + RequestHeaders pulumi.StringMapInput // Metadata to include when performing the gRPC request. - RequestMetadata pulumi.MapInput + RequestMetadata pulumi.StringMapInput // The proxy to perform the test. RequestProxy SyntheticsTestRequestProxyPtrInput // Query arguments name and value map. - RequestQuery pulumi.MapInput + RequestQuery pulumi.StringMapInput // Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. SetCookie pulumi.StringPtrInput // Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. @@ -1056,13 +1056,13 @@ func (o SyntheticsTestOutput) RequestFiles() SyntheticsTestRequestFileArrayOutpu } // Header name and value map. -func (o SyntheticsTestOutput) RequestHeaders() pulumi.MapOutput { - return o.ApplyT(func(v *SyntheticsTest) pulumi.MapOutput { return v.RequestHeaders }).(pulumi.MapOutput) +func (o SyntheticsTestOutput) RequestHeaders() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTest) pulumi.StringMapOutput { return v.RequestHeaders }).(pulumi.StringMapOutput) } // Metadata to include when performing the gRPC request. -func (o SyntheticsTestOutput) RequestMetadata() pulumi.MapOutput { - return o.ApplyT(func(v *SyntheticsTest) pulumi.MapOutput { return v.RequestMetadata }).(pulumi.MapOutput) +func (o SyntheticsTestOutput) RequestMetadata() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTest) pulumi.StringMapOutput { return v.RequestMetadata }).(pulumi.StringMapOutput) } // The proxy to perform the test. @@ -1071,8 +1071,8 @@ func (o SyntheticsTestOutput) RequestProxy() SyntheticsTestRequestProxyPtrOutput } // Query arguments name and value map. -func (o SyntheticsTestOutput) RequestQuery() pulumi.MapOutput { - return o.ApplyT(func(v *SyntheticsTest) pulumi.MapOutput { return v.RequestQuery }).(pulumi.MapOutput) +func (o SyntheticsTestOutput) RequestQuery() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTest) pulumi.StringMapOutput { return v.RequestQuery }).(pulumi.StringMapOutput) } // Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index 94f1dd09d..d38e32cc3 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -44,7 +44,7 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:pulumi:0.14.0") + implementation("com.pulumi:pulumi:0.15.0") } task sourcesJar(type: Jar) { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java index af64e35a4..3b81dd425 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java @@ -23,7 +23,6 @@ import com.pulumi.datadog.outputs.SyntheticsTestRequestProxy; import java.lang.Boolean; import java.lang.Integer; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -750,28 +749,28 @@ public Output>> requestFiles() { * Header name and value map. * */ - @Export(name="requestHeaders", refs={Map.class,String.class,Object.class}, tree="[0,1,2]") - private Output> requestHeaders; + @Export(name="requestHeaders", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> requestHeaders; /** * @return Header name and value map. * */ - public Output>> requestHeaders() { + public Output>> requestHeaders() { return Codegen.optional(this.requestHeaders); } /** * Metadata to include when performing the gRPC request. * */ - @Export(name="requestMetadata", refs={Map.class,String.class,Object.class}, tree="[0,1,2]") - private Output> requestMetadata; + @Export(name="requestMetadata", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> requestMetadata; /** * @return Metadata to include when performing the gRPC request. * */ - public Output>> requestMetadata() { + public Output>> requestMetadata() { return Codegen.optional(this.requestMetadata); } /** @@ -792,14 +791,14 @@ public Output> requestProxy() { * Query arguments name and value map. * */ - @Export(name="requestQuery", refs={Map.class,String.class,Object.class}, tree="[0,1,2]") - private Output> requestQuery; + @Export(name="requestQuery", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> requestQuery; /** * @return Query arguments name and value map. * */ - public Output>> requestQuery() { + public Output>> requestQuery() { return Codegen.optional(this.requestQuery); } /** diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java index b7c76fa3a..873d8e139 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java @@ -18,7 +18,6 @@ import com.pulumi.datadog.inputs.SyntheticsTestRequestProxyArgs; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -253,13 +252,13 @@ public Optional>> requestFiles() { * */ @Import(name="requestHeaders") - private @Nullable Output> requestHeaders; + private @Nullable Output> requestHeaders; /** * @return Header name and value map. * */ - public Optional>> requestHeaders() { + public Optional>> requestHeaders() { return Optional.ofNullable(this.requestHeaders); } @@ -268,13 +267,13 @@ public Optional>> requestHeaders() { * */ @Import(name="requestMetadata") - private @Nullable Output> requestMetadata; + private @Nullable Output> requestMetadata; /** * @return Metadata to include when performing the gRPC request. * */ - public Optional>> requestMetadata() { + public Optional>> requestMetadata() { return Optional.ofNullable(this.requestMetadata); } @@ -298,13 +297,13 @@ public Optional> requestProxy() { * */ @Import(name="requestQuery") - private @Nullable Output> requestQuery; + private @Nullable Output> requestQuery; /** * @return Query arguments name and value map. * */ - public Optional>> requestQuery() { + public Optional>> requestQuery() { return Optional.ofNullable(this.requestQuery); } @@ -835,7 +834,7 @@ public Builder requestFiles(SyntheticsTestRequestFileArgs... requestFiles) { * @return builder * */ - public Builder requestHeaders(@Nullable Output> requestHeaders) { + public Builder requestHeaders(@Nullable Output> requestHeaders) { $.requestHeaders = requestHeaders; return this; } @@ -846,7 +845,7 @@ public Builder requestHeaders(@Nullable Output> requestHeader * @return builder * */ - public Builder requestHeaders(Map requestHeaders) { + public Builder requestHeaders(Map requestHeaders) { return requestHeaders(Output.of(requestHeaders)); } @@ -856,7 +855,7 @@ public Builder requestHeaders(Map requestHeaders) { * @return builder * */ - public Builder requestMetadata(@Nullable Output> requestMetadata) { + public Builder requestMetadata(@Nullable Output> requestMetadata) { $.requestMetadata = requestMetadata; return this; } @@ -867,7 +866,7 @@ public Builder requestMetadata(@Nullable Output> requestMetad * @return builder * */ - public Builder requestMetadata(Map requestMetadata) { + public Builder requestMetadata(Map requestMetadata) { return requestMetadata(Output.of(requestMetadata)); } @@ -898,7 +897,7 @@ public Builder requestProxy(SyntheticsTestRequestProxyArgs requestProxy) { * @return builder * */ - public Builder requestQuery(@Nullable Output> requestQuery) { + public Builder requestQuery(@Nullable Output> requestQuery) { $.requestQuery = requestQuery; return this; } @@ -909,7 +908,7 @@ public Builder requestQuery(@Nullable Output> requestQuery) { * @return builder * */ - public Builder requestQuery(Map requestQuery) { + public Builder requestQuery(Map requestQuery) { return requestQuery(Output.of(requestQuery)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/Integration.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/Integration.java index 5f0b32b42..e46f082b7 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/Integration.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/Integration.java @@ -10,7 +10,6 @@ import com.pulumi.datadog.Utilities; import com.pulumi.datadog.aws.IntegrationArgs; import com.pulumi.datadog.aws.inputs.IntegrationState; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -111,14 +110,14 @@ public Output> accountId() { * Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). * */ - @Export(name="accountSpecificNamespaceRules", refs={Map.class,String.class,Object.class}, tree="[0,1,2]") - private Output> accountSpecificNamespaceRules; + @Export(name="accountSpecificNamespaceRules", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> accountSpecificNamespaceRules; /** * @return Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). * */ - public Output>> accountSpecificNamespaceRules() { + public Output>> accountSpecificNamespaceRules() { return Codegen.optional(this.accountSpecificNamespaceRules); } /** diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationArgs.java index 4bf307255..29951723a 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationArgs.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -53,13 +52,13 @@ public Optional> accountId() { * */ @Import(name="accountSpecificNamespaceRules") - private @Nullable Output> accountSpecificNamespaceRules; + private @Nullable Output> accountSpecificNamespaceRules; /** * @return Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). * */ - public Optional>> accountSpecificNamespaceRules() { + public Optional>> accountSpecificNamespaceRules() { return Optional.ofNullable(this.accountSpecificNamespaceRules); } @@ -289,7 +288,7 @@ public Builder accountId(String accountId) { * @return builder * */ - public Builder accountSpecificNamespaceRules(@Nullable Output> accountSpecificNamespaceRules) { + public Builder accountSpecificNamespaceRules(@Nullable Output> accountSpecificNamespaceRules) { $.accountSpecificNamespaceRules = accountSpecificNamespaceRules; return this; } @@ -300,7 +299,7 @@ public Builder accountSpecificNamespaceRules(@Nullable Output * @return builder * */ - public Builder accountSpecificNamespaceRules(Map accountSpecificNamespaceRules) { + public Builder accountSpecificNamespaceRules(Map accountSpecificNamespaceRules) { return accountSpecificNamespaceRules(Output.of(accountSpecificNamespaceRules)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationState.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationState.java index a64256db6..2cf45ab26 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationState.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationState.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -53,13 +52,13 @@ public Optional> accountId() { * */ @Import(name="accountSpecificNamespaceRules") - private @Nullable Output> accountSpecificNamespaceRules; + private @Nullable Output> accountSpecificNamespaceRules; /** * @return Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). * */ - public Optional>> accountSpecificNamespaceRules() { + public Optional>> accountSpecificNamespaceRules() { return Optional.ofNullable(this.accountSpecificNamespaceRules); } @@ -297,7 +296,7 @@ public Builder accountId(String accountId) { * @return builder * */ - public Builder accountSpecificNamespaceRules(@Nullable Output> accountSpecificNamespaceRules) { + public Builder accountSpecificNamespaceRules(@Nullable Output> accountSpecificNamespaceRules) { $.accountSpecificNamespaceRules = accountSpecificNamespaceRules; return this; } @@ -308,7 +307,7 @@ public Builder accountSpecificNamespaceRules(@Nullable Output * @return builder * */ - public Builder accountSpecificNamespaceRules(Map accountSpecificNamespaceRules) { + public Builder accountSpecificNamespaceRules(Map accountSpecificNamespaceRules) { return accountSpecificNamespaceRules(Output.of(accountSpecificNamespaceRules)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java index 9687b742e..54df22bcc 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java @@ -16,7 +16,6 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.Integer; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -169,13 +168,13 @@ public Optional>> requestFiles * */ @Import(name="requestHeaders") - private @Nullable Output> requestHeaders; + private @Nullable Output> requestHeaders; /** * @return Header name and value map. * */ - public Optional>> requestHeaders() { + public Optional>> requestHeaders() { return Optional.ofNullable(this.requestHeaders); } @@ -184,13 +183,13 @@ public Optional>> requestHeaders() { * */ @Import(name="requestMetadata") - private @Nullable Output> requestMetadata; + private @Nullable Output> requestMetadata; /** * @return Metadata to include when performing the gRPC request. * */ - public Optional>> requestMetadata() { + public Optional>> requestMetadata() { return Optional.ofNullable(this.requestMetadata); } @@ -214,13 +213,13 @@ public Optional> requestProxy() { * */ @Import(name="requestQuery") - private @Nullable Output> requestQuery; + private @Nullable Output> requestQuery; /** * @return Query arguments name and value map. * */ - public Optional>> requestQuery() { + public Optional>> requestQuery() { return Optional.ofNullable(this.requestQuery); } @@ -525,7 +524,7 @@ public Builder requestFiles(SyntheticsTestApiStepRequestFileArgs... requestFiles * @return builder * */ - public Builder requestHeaders(@Nullable Output> requestHeaders) { + public Builder requestHeaders(@Nullable Output> requestHeaders) { $.requestHeaders = requestHeaders; return this; } @@ -536,7 +535,7 @@ public Builder requestHeaders(@Nullable Output> requestHeader * @return builder * */ - public Builder requestHeaders(Map requestHeaders) { + public Builder requestHeaders(Map requestHeaders) { return requestHeaders(Output.of(requestHeaders)); } @@ -546,7 +545,7 @@ public Builder requestHeaders(Map requestHeaders) { * @return builder * */ - public Builder requestMetadata(@Nullable Output> requestMetadata) { + public Builder requestMetadata(@Nullable Output> requestMetadata) { $.requestMetadata = requestMetadata; return this; } @@ -557,7 +556,7 @@ public Builder requestMetadata(@Nullable Output> requestMetad * @return builder * */ - public Builder requestMetadata(Map requestMetadata) { + public Builder requestMetadata(Map requestMetadata) { return requestMetadata(Output.of(requestMetadata)); } @@ -588,7 +587,7 @@ public Builder requestProxy(SyntheticsTestApiStepRequestProxyArgs requestProxy) * @return builder * */ - public Builder requestQuery(@Nullable Output> requestQuery) { + public Builder requestQuery(@Nullable Output> requestQuery) { $.requestQuery = requestQuery; return this; } @@ -599,7 +598,7 @@ public Builder requestQuery(@Nullable Output> requestQuery) { * @return builder * */ - public Builder requestQuery(Map requestQuery) { + public Builder requestQuery(Map requestQuery) { return requestQuery(Output.of(requestQuery)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRequestProxyArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRequestProxyArgs.java index a1a8bad55..353a30fc9 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRequestProxyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRequestProxyArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Object; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -23,13 +22,13 @@ public final class SyntheticsTestApiStepRequestProxyArgs extends com.pulumi.reso * */ @Import(name="headers") - private @Nullable Output> headers; + private @Nullable Output> headers; /** * @return Header name and value map. * */ - public Optional>> headers() { + public Optional>> headers() { return Optional.ofNullable(this.headers); } @@ -79,7 +78,7 @@ public Builder(SyntheticsTestApiStepRequestProxyArgs defaults) { * @return builder * */ - public Builder headers(@Nullable Output> headers) { + public Builder headers(@Nullable Output> headers) { $.headers = headers; return this; } @@ -90,7 +89,7 @@ public Builder headers(@Nullable Output> headers) { * @return builder * */ - public Builder headers(Map headers) { + public Builder headers(Map headers) { return headers(Output.of(headers)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestRequestProxyArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestRequestProxyArgs.java index ee973c37e..04179fcdb 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestRequestProxyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestRequestProxyArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Object; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -23,13 +22,13 @@ public final class SyntheticsTestRequestProxyArgs extends com.pulumi.resources.R * */ @Import(name="headers") - private @Nullable Output> headers; + private @Nullable Output> headers; /** * @return Header name and value map. * */ - public Optional>> headers() { + public Optional>> headers() { return Optional.ofNullable(this.headers); } @@ -79,7 +78,7 @@ public Builder(SyntheticsTestRequestProxyArgs defaults) { * @return builder * */ - public Builder headers(@Nullable Output> headers) { + public Builder headers(@Nullable Output> headers) { $.headers = headers; return this; } @@ -90,7 +89,7 @@ public Builder headers(@Nullable Output> headers) { * @return builder * */ - public Builder headers(Map headers) { + public Builder headers(Map headers) { return headers(Output.of(headers)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java index 6a1693f5f..1248df965 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java @@ -18,7 +18,6 @@ import com.pulumi.datadog.inputs.SyntheticsTestRequestProxyArgs; import java.lang.Boolean; import java.lang.Integer; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -268,13 +267,13 @@ public Optional>> requestFiles() { * */ @Import(name="requestHeaders") - private @Nullable Output> requestHeaders; + private @Nullable Output> requestHeaders; /** * @return Header name and value map. * */ - public Optional>> requestHeaders() { + public Optional>> requestHeaders() { return Optional.ofNullable(this.requestHeaders); } @@ -283,13 +282,13 @@ public Optional>> requestHeaders() { * */ @Import(name="requestMetadata") - private @Nullable Output> requestMetadata; + private @Nullable Output> requestMetadata; /** * @return Metadata to include when performing the gRPC request. * */ - public Optional>> requestMetadata() { + public Optional>> requestMetadata() { return Optional.ofNullable(this.requestMetadata); } @@ -313,13 +312,13 @@ public Optional> requestProxy() { * */ @Import(name="requestQuery") - private @Nullable Output> requestQuery; + private @Nullable Output> requestQuery; /** * @return Query arguments name and value map. * */ - public Optional>> requestQuery() { + public Optional>> requestQuery() { return Optional.ofNullable(this.requestQuery); } @@ -872,7 +871,7 @@ public Builder requestFiles(SyntheticsTestRequestFileArgs... requestFiles) { * @return builder * */ - public Builder requestHeaders(@Nullable Output> requestHeaders) { + public Builder requestHeaders(@Nullable Output> requestHeaders) { $.requestHeaders = requestHeaders; return this; } @@ -883,7 +882,7 @@ public Builder requestHeaders(@Nullable Output> requestHeader * @return builder * */ - public Builder requestHeaders(Map requestHeaders) { + public Builder requestHeaders(Map requestHeaders) { return requestHeaders(Output.of(requestHeaders)); } @@ -893,7 +892,7 @@ public Builder requestHeaders(Map requestHeaders) { * @return builder * */ - public Builder requestMetadata(@Nullable Output> requestMetadata) { + public Builder requestMetadata(@Nullable Output> requestMetadata) { $.requestMetadata = requestMetadata; return this; } @@ -904,7 +903,7 @@ public Builder requestMetadata(@Nullable Output> requestMetad * @return builder * */ - public Builder requestMetadata(Map requestMetadata) { + public Builder requestMetadata(Map requestMetadata) { return requestMetadata(Output.of(requestMetadata)); } @@ -935,7 +934,7 @@ public Builder requestProxy(SyntheticsTestRequestProxyArgs requestProxy) { * @return builder * */ - public Builder requestQuery(@Nullable Output> requestQuery) { + public Builder requestQuery(@Nullable Output> requestQuery) { $.requestQuery = requestQuery; return this; } @@ -946,7 +945,7 @@ public Builder requestQuery(@Nullable Output> requestQuery) { * @return builder * */ - public Builder requestQuery(Map requestQuery) { + public Builder requestQuery(Map requestQuery) { return requestQuery(Output.of(requestQuery)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSyntheticsLocationsResult.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSyntheticsLocationsResult.java index 2850deefb..0d1cd16c5 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSyntheticsLocationsResult.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSyntheticsLocationsResult.java @@ -5,7 +5,6 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Object; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -21,7 +20,7 @@ public final class GetSyntheticsLocationsResult { * @return A map of available Synthetics location IDs to names for Synthetics tests. * */ - private Map locations; + private Map locations; private GetSyntheticsLocationsResult() {} /** @@ -35,7 +34,7 @@ public String id() { * @return A map of available Synthetics location IDs to names for Synthetics tests. * */ - public Map locations() { + public Map locations() { return this.locations; } @@ -49,7 +48,7 @@ public static Builder builder(GetSyntheticsLocationsResult defaults) { @CustomType.Builder public static final class Builder { private String id; - private Map locations; + private Map locations; public Builder() {} public Builder(GetSyntheticsLocationsResult defaults) { Objects.requireNonNull(defaults); @@ -66,7 +65,7 @@ public Builder id(String id) { return this; } @CustomType.Setter - public Builder locations(Map locations) { + public Builder locations(Map locations) { if (locations == null) { throw new MissingRequiredPropertyException("GetSyntheticsLocationsResult", "locations"); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java index 39f9073c5..d3520e39e 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java @@ -15,7 +15,6 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.Integer; -import java.lang.Object; import java.lang.String; import java.util.List; import java.util.Map; @@ -74,12 +73,12 @@ public final class SyntheticsTestApiStep { * @return Header name and value map. * */ - private @Nullable Map requestHeaders; + private @Nullable Map requestHeaders; /** * @return Metadata to include when performing the gRPC request. * */ - private @Nullable Map requestMetadata; + private @Nullable Map requestMetadata; /** * @return The proxy to perform the test. * @@ -89,7 +88,7 @@ public final class SyntheticsTestApiStep { * @return Query arguments name and value map. * */ - private @Nullable Map requestQuery; + private @Nullable Map requestQuery; private @Nullable SyntheticsTestApiStepRetry retry; /** * @return The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. @@ -170,14 +169,14 @@ public List requestFiles() { * @return Header name and value map. * */ - public Map requestHeaders() { + public Map requestHeaders() { return this.requestHeaders == null ? Map.of() : this.requestHeaders; } /** * @return Metadata to include when performing the gRPC request. * */ - public Map requestMetadata() { + public Map requestMetadata() { return this.requestMetadata == null ? Map.of() : this.requestMetadata; } /** @@ -191,7 +190,7 @@ public Optional requestProxy() { * @return Query arguments name and value map. * */ - public Map requestQuery() { + public Map requestQuery() { return this.requestQuery == null ? Map.of() : this.requestQuery; } public Optional retry() { @@ -230,10 +229,10 @@ public static final class Builder { private @Nullable SyntheticsTestApiStepRequestClientCertificate requestClientCertificate; private @Nullable SyntheticsTestApiStepRequestDefinition requestDefinition; private @Nullable List requestFiles; - private @Nullable Map requestHeaders; - private @Nullable Map requestMetadata; + private @Nullable Map requestHeaders; + private @Nullable Map requestMetadata; private @Nullable SyntheticsTestApiStepRequestProxy requestProxy; - private @Nullable Map requestQuery; + private @Nullable Map requestQuery; private @Nullable SyntheticsTestApiStepRetry retry; private @Nullable String subtype; private @Nullable Integer value; @@ -324,13 +323,13 @@ public Builder requestFiles(SyntheticsTestApiStepRequestFile... requestFiles) { return requestFiles(List.of(requestFiles)); } @CustomType.Setter - public Builder requestHeaders(@Nullable Map requestHeaders) { + public Builder requestHeaders(@Nullable Map requestHeaders) { this.requestHeaders = requestHeaders; return this; } @CustomType.Setter - public Builder requestMetadata(@Nullable Map requestMetadata) { + public Builder requestMetadata(@Nullable Map requestMetadata) { this.requestMetadata = requestMetadata; return this; @@ -342,7 +341,7 @@ public Builder requestProxy(@Nullable SyntheticsTestApiStepRequestProxy requestP return this; } @CustomType.Setter - public Builder requestQuery(@Nullable Map requestQuery) { + public Builder requestQuery(@Nullable Map requestQuery) { this.requestQuery = requestQuery; return this; diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRequestProxy.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRequestProxy.java index 341406acf..0e225f297 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRequestProxy.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRequestProxy.java @@ -5,7 +5,6 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Object; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -17,7 +16,7 @@ public final class SyntheticsTestApiStepRequestProxy { * @return Header name and value map. * */ - private @Nullable Map headers; + private @Nullable Map headers; /** * @return URL of the proxy to perform the test. * @@ -29,7 +28,7 @@ private SyntheticsTestApiStepRequestProxy() {} * @return Header name and value map. * */ - public Map headers() { + public Map headers() { return this.headers == null ? Map.of() : this.headers; } /** @@ -49,7 +48,7 @@ public static Builder builder(SyntheticsTestApiStepRequestProxy defaults) { } @CustomType.Builder public static final class Builder { - private @Nullable Map headers; + private @Nullable Map headers; private String url; public Builder() {} public Builder(SyntheticsTestApiStepRequestProxy defaults) { @@ -59,7 +58,7 @@ public Builder(SyntheticsTestApiStepRequestProxy defaults) { } @CustomType.Setter - public Builder headers(@Nullable Map headers) { + public Builder headers(@Nullable Map headers) { this.headers = headers; return this; diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestRequestProxy.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestRequestProxy.java index 7eb5a140f..748d8d523 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestRequestProxy.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestRequestProxy.java @@ -5,7 +5,6 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Object; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -17,7 +16,7 @@ public final class SyntheticsTestRequestProxy { * @return Header name and value map. * */ - private @Nullable Map headers; + private @Nullable Map headers; /** * @return URL of the proxy to perform the test. * @@ -29,7 +28,7 @@ private SyntheticsTestRequestProxy() {} * @return Header name and value map. * */ - public Map headers() { + public Map headers() { return this.headers == null ? Map.of() : this.headers; } /** @@ -49,7 +48,7 @@ public static Builder builder(SyntheticsTestRequestProxy defaults) { } @CustomType.Builder public static final class Builder { - private @Nullable Map headers; + private @Nullable Map headers; private String url; public Builder() {} public Builder(SyntheticsTestRequestProxy defaults) { @@ -59,7 +58,7 @@ public Builder(SyntheticsTestRequestProxy defaults) { } @CustomType.Setter - public Builder headers(@Nullable Map headers) { + public Builder headers(@Nullable Map headers) { this.headers = headers; return this; diff --git a/sdk/nodejs/aws/integration.ts b/sdk/nodejs/aws/integration.ts index dd235d63e..c20ae100d 100644 --- a/sdk/nodejs/aws/integration.ts +++ b/sdk/nodejs/aws/integration.ts @@ -23,8 +23,8 @@ import * as utilities from "../utilities"; * "key2:value2", * ], * accountSpecificNamespaceRules: { - * auto_scaling: false, - * opsworks: false, + * auto_scaling: "false", + * opsworks: "false", * }, * excludedRegions: [ * "us-east-1", @@ -80,7 +80,7 @@ export class Integration extends pulumi.CustomResource { /** * Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). */ - public readonly accountSpecificNamespaceRules!: pulumi.Output<{[key: string]: any} | undefined>; + public readonly accountSpecificNamespaceRules!: pulumi.Output<{[key: string]: string} | undefined>; /** * Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. */ @@ -185,7 +185,7 @@ export interface IntegrationState { /** * Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). */ - accountSpecificNamespaceRules?: pulumi.Input<{[key: string]: any}>; + accountSpecificNamespaceRules?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. */ @@ -242,7 +242,7 @@ export interface IntegrationArgs { /** * Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). */ - accountSpecificNamespaceRules?: pulumi.Input<{[key: string]: any}>; + accountSpecificNamespaceRules?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. */ diff --git a/sdk/nodejs/getSyntheticsLocations.ts b/sdk/nodejs/getSyntheticsLocations.ts index 4f0d3047c..4d81c2887 100644 --- a/sdk/nodejs/getSyntheticsLocations.ts +++ b/sdk/nodejs/getSyntheticsLocations.ts @@ -25,7 +25,7 @@ export interface GetSyntheticsLocationsResult { /** * A map of available Synthetics location IDs to names for Synthetics tests. */ - readonly locations: {[key: string]: any}; + readonly locations: {[key: string]: string}; } /** * Use this data source to retrieve Datadog's Synthetics Locations (to be used in Synthetics tests). diff --git a/sdk/nodejs/syntheticsTest.ts b/sdk/nodejs/syntheticsTest.ts index efc18bd39..560d0e096 100644 --- a/sdk/nodejs/syntheticsTest.ts +++ b/sdk/nodejs/syntheticsTest.ts @@ -565,11 +565,11 @@ export class SyntheticsTest extends pulumi.CustomResource { /** * Header name and value map. */ - public readonly requestHeaders!: pulumi.Output<{[key: string]: any} | undefined>; + public readonly requestHeaders!: pulumi.Output<{[key: string]: string} | undefined>; /** * Metadata to include when performing the gRPC request. */ - public readonly requestMetadata!: pulumi.Output<{[key: string]: any} | undefined>; + public readonly requestMetadata!: pulumi.Output<{[key: string]: string} | undefined>; /** * The proxy to perform the test. */ @@ -577,7 +577,7 @@ export class SyntheticsTest extends pulumi.CustomResource { /** * Query arguments name and value map. */ - public readonly requestQuery!: pulumi.Output<{[key: string]: any} | undefined>; + public readonly requestQuery!: pulumi.Output<{[key: string]: string} | undefined>; /** * Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. */ @@ -756,11 +756,11 @@ export interface SyntheticsTestState { /** * Header name and value map. */ - requestHeaders?: pulumi.Input<{[key: string]: any}>; + requestHeaders?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Metadata to include when performing the gRPC request. */ - requestMetadata?: pulumi.Input<{[key: string]: any}>; + requestMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The proxy to perform the test. */ @@ -768,7 +768,7 @@ export interface SyntheticsTestState { /** * Query arguments name and value map. */ - requestQuery?: pulumi.Input<{[key: string]: any}>; + requestQuery?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. */ @@ -859,11 +859,11 @@ export interface SyntheticsTestArgs { /** * Header name and value map. */ - requestHeaders?: pulumi.Input<{[key: string]: any}>; + requestHeaders?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Metadata to include when performing the gRPC request. */ - requestMetadata?: pulumi.Input<{[key: string]: any}>; + requestMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The proxy to perform the test. */ @@ -871,7 +871,7 @@ export interface SyntheticsTestArgs { /** * Query arguments name and value map. */ - requestQuery?: pulumi.Input<{[key: string]: any}>; + requestQuery?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 61889afce..341e5e553 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -21939,11 +21939,11 @@ export interface SyntheticsTestApiStep { /** * Header name and value map. */ - requestHeaders?: pulumi.Input<{[key: string]: any}>; + requestHeaders?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Metadata to include when performing the gRPC request. */ - requestMetadata?: pulumi.Input<{[key: string]: any}>; + requestMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The proxy to perform the test. */ @@ -21951,7 +21951,7 @@ export interface SyntheticsTestApiStep { /** * Query arguments name and value map. */ - requestQuery?: pulumi.Input<{[key: string]: any}>; + requestQuery?: pulumi.Input<{[key: string]: pulumi.Input}>; retry?: pulumi.Input; /** * The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. @@ -22297,7 +22297,7 @@ export interface SyntheticsTestApiStepRequestProxy { /** * Header name and value map. */ - headers?: pulumi.Input<{[key: string]: any}>; + headers?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * URL of the proxy to perform the test. */ @@ -22948,7 +22948,7 @@ export interface SyntheticsTestRequestProxy { /** * Header name and value map. */ - headers?: pulumi.Input<{[key: string]: any}>; + headers?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * URL of the proxy to perform the test. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 3656a0478..3e226e885 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -22587,11 +22587,11 @@ export interface SyntheticsTestApiStep { /** * Header name and value map. */ - requestHeaders?: {[key: string]: any}; + requestHeaders?: {[key: string]: string}; /** * Metadata to include when performing the gRPC request. */ - requestMetadata?: {[key: string]: any}; + requestMetadata?: {[key: string]: string}; /** * The proxy to perform the test. */ @@ -22599,7 +22599,7 @@ export interface SyntheticsTestApiStep { /** * Query arguments name and value map. */ - requestQuery?: {[key: string]: any}; + requestQuery?: {[key: string]: string}; retry?: outputs.SyntheticsTestApiStepRetry; /** * The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. @@ -22945,7 +22945,7 @@ export interface SyntheticsTestApiStepRequestProxy { /** * Header name and value map. */ - headers?: {[key: string]: any}; + headers?: {[key: string]: string}; /** * URL of the proxy to perform the test. */ @@ -23596,7 +23596,7 @@ export interface SyntheticsTestRequestProxy { /** * Header name and value map. */ - headers?: {[key: string]: any}; + headers?: {[key: string]: string}; /** * URL of the proxy to perform the test. */ diff --git a/sdk/python/pulumi_datadog/_inputs.py b/sdk/python/pulumi_datadog/_inputs.py index bef560e17..740c2727a 100644 --- a/sdk/python/pulumi_datadog/_inputs.py +++ b/sdk/python/pulumi_datadog/_inputs.py @@ -82655,10 +82655,10 @@ def __init__(__self__, *, request_client_certificate: Optional[pulumi.Input['SyntheticsTestApiStepRequestClientCertificateArgs']] = None, request_definition: Optional[pulumi.Input['SyntheticsTestApiStepRequestDefinitionArgs']] = None, request_files: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepRequestFileArgs']]]] = None, - request_headers: Optional[pulumi.Input[Mapping[str, Any]]] = None, - request_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + request_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, request_proxy: Optional[pulumi.Input['SyntheticsTestApiStepRequestProxyArgs']] = None, - request_query: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_query: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, retry: Optional[pulumi.Input['SyntheticsTestApiStepRetryArgs']] = None, subtype: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[int]] = None): @@ -82672,10 +82672,10 @@ def __init__(__self__, *, :param pulumi.Input['SyntheticsTestApiStepRequestClientCertificateArgs'] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param pulumi.Input['SyntheticsTestApiStepRequestDefinitionArgs'] request_definition: The request for the api step. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepRequestFileArgs']]] request_files: Files to be used as part of the request in the test. - :param pulumi.Input[Mapping[str, Any]] request_headers: Header name and value map. - :param pulumi.Input[Mapping[str, Any]] request_metadata: Metadata to include when performing the gRPC request. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_metadata: Metadata to include when performing the gRPC request. :param pulumi.Input['SyntheticsTestApiStepRequestProxyArgs'] request_proxy: The proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] request_query: Query arguments name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_query: Query arguments name and value map. :param pulumi.Input[str] subtype: The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. :param pulumi.Input[int] value: The time to wait in seconds. Minimum value: 0. Maximum value: 180. """ @@ -82821,26 +82821,26 @@ def request_files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Synt @property @pulumi.getter(name="requestHeaders") - def request_headers(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Header name and value map. """ return pulumi.get(self, "request_headers") @request_headers.setter - def request_headers(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_headers", value) @property @pulumi.getter(name="requestMetadata") - def request_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Metadata to include when performing the gRPC request. """ return pulumi.get(self, "request_metadata") @request_metadata.setter - def request_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_metadata", value) @property @@ -82857,14 +82857,14 @@ def request_proxy(self, value: Optional[pulumi.Input['SyntheticsTestApiStepReque @property @pulumi.getter(name="requestQuery") - def request_query(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_query(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Query arguments name and value map. """ return pulumi.get(self, "request_query") @request_query.setter - def request_query(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_query(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_query", value) @property @@ -84173,10 +84173,10 @@ def original_file_name(self, value: Optional[pulumi.Input[str]]): class SyntheticsTestApiStepRequestProxyArgs: def __init__(__self__, *, url: pulumi.Input[str], - headers: Optional[pulumi.Input[Mapping[str, Any]]] = None): + headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ :param pulumi.Input[str] url: URL of the proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] headers: Header name and value map. """ pulumi.set(__self__, "url", url) if headers is not None: @@ -84196,14 +84196,14 @@ def url(self, value: pulumi.Input[str]): @property @pulumi.getter - def headers(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Header name and value map. """ return pulumi.get(self, "headers") @headers.setter - def headers(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "headers", value) @@ -86678,10 +86678,10 @@ def original_file_name(self, value: Optional[pulumi.Input[str]]): class SyntheticsTestRequestProxyArgs: def __init__(__self__, *, url: pulumi.Input[str], - headers: Optional[pulumi.Input[Mapping[str, Any]]] = None): + headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ :param pulumi.Input[str] url: URL of the proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] headers: Header name and value map. """ pulumi.set(__self__, "url", url) if headers is not None: @@ -86701,14 +86701,14 @@ def url(self, value: pulumi.Input[str]): @property @pulumi.getter - def headers(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Header name and value map. """ return pulumi.get(self, "headers") @headers.setter - def headers(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "headers", value) diff --git a/sdk/python/pulumi_datadog/aws/integration.py b/sdk/python/pulumi_datadog/aws/integration.py index c51bd1dbb..9389570e6 100644 --- a/sdk/python/pulumi_datadog/aws/integration.py +++ b/sdk/python/pulumi_datadog/aws/integration.py @@ -16,7 +16,7 @@ class IntegrationArgs: def __init__(__self__, *, access_key_id: Optional[pulumi.Input[str]] = None, account_id: Optional[pulumi.Input[str]] = None, - account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, Any]]] = None, + account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, cspm_resource_collection_enabled: Optional[pulumi.Input[str]] = None, excluded_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, extended_resource_collection_enabled: Optional[pulumi.Input[str]] = None, @@ -30,7 +30,7 @@ def __init__(__self__, *, The set of arguments for constructing a Integration resource. :param pulumi.Input[str] access_key_id: Your AWS access key ID. Only required if your AWS account is a GovCloud or China account. :param pulumi.Input[str] account_id: Your AWS Account ID without dashes. - :param pulumi.Input[Mapping[str, Any]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). :param pulumi.Input[str] cspm_resource_collection_enabled: Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_regions: An array of AWS regions to exclude from metrics collection. :param pulumi.Input[str] extended_resource_collection_enabled: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection_enabled`. @@ -95,14 +95,14 @@ def account_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="accountSpecificNamespaceRules") - def account_specific_namespace_rules(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def account_specific_namespace_rules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). """ return pulumi.get(self, "account_specific_namespace_rules") @account_specific_namespace_rules.setter - def account_specific_namespace_rules(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def account_specific_namespace_rules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "account_specific_namespace_rules", value) @property @@ -220,7 +220,7 @@ class _IntegrationState: def __init__(__self__, *, access_key_id: Optional[pulumi.Input[str]] = None, account_id: Optional[pulumi.Input[str]] = None, - account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, Any]]] = None, + account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, cspm_resource_collection_enabled: Optional[pulumi.Input[str]] = None, excluded_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, extended_resource_collection_enabled: Optional[pulumi.Input[str]] = None, @@ -235,7 +235,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Integration resources. :param pulumi.Input[str] access_key_id: Your AWS access key ID. Only required if your AWS account is a GovCloud or China account. :param pulumi.Input[str] account_id: Your AWS Account ID without dashes. - :param pulumi.Input[Mapping[str, Any]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). :param pulumi.Input[str] cspm_resource_collection_enabled: Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_regions: An array of AWS regions to exclude from metrics collection. :param pulumi.Input[str] extended_resource_collection_enabled: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection_enabled`. @@ -302,14 +302,14 @@ def account_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="accountSpecificNamespaceRules") - def account_specific_namespace_rules(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def account_specific_namespace_rules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). """ return pulumi.get(self, "account_specific_namespace_rules") @account_specific_namespace_rules.setter - def account_specific_namespace_rules(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def account_specific_namespace_rules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "account_specific_namespace_rules", value) @property @@ -438,7 +438,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, access_key_id: Optional[pulumi.Input[str]] = None, account_id: Optional[pulumi.Input[str]] = None, - account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, Any]]] = None, + account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, cspm_resource_collection_enabled: Optional[pulumi.Input[str]] = None, excluded_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, extended_resource_collection_enabled: Optional[pulumi.Input[str]] = None, @@ -468,8 +468,8 @@ def __init__(__self__, "key2:value2", ], account_specific_namespace_rules={ - "auto_scaling": False, - "opsworks": False, + "auto_scaling": "false", + "opsworks": "false", }, excluded_regions=[ "us-east-1", @@ -489,7 +489,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] access_key_id: Your AWS access key ID. Only required if your AWS account is a GovCloud or China account. :param pulumi.Input[str] account_id: Your AWS Account ID without dashes. - :param pulumi.Input[Mapping[str, Any]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). :param pulumi.Input[str] cspm_resource_collection_enabled: Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_regions: An array of AWS regions to exclude from metrics collection. :param pulumi.Input[str] extended_resource_collection_enabled: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection_enabled`. @@ -525,8 +525,8 @@ def __init__(__self__, "key2:value2", ], account_specific_namespace_rules={ - "auto_scaling": False, - "opsworks": False, + "auto_scaling": "false", + "opsworks": "false", }, excluded_regions=[ "us-east-1", @@ -559,7 +559,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, access_key_id: Optional[pulumi.Input[str]] = None, account_id: Optional[pulumi.Input[str]] = None, - account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, Any]]] = None, + account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, cspm_resource_collection_enabled: Optional[pulumi.Input[str]] = None, excluded_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, extended_resource_collection_enabled: Optional[pulumi.Input[str]] = None, @@ -605,7 +605,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, access_key_id: Optional[pulumi.Input[str]] = None, account_id: Optional[pulumi.Input[str]] = None, - account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, Any]]] = None, + account_specific_namespace_rules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, cspm_resource_collection_enabled: Optional[pulumi.Input[str]] = None, excluded_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, extended_resource_collection_enabled: Optional[pulumi.Input[str]] = None, @@ -625,7 +625,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] access_key_id: Your AWS access key ID. Only required if your AWS account is a GovCloud or China account. :param pulumi.Input[str] account_id: Your AWS Account ID without dashes. - :param pulumi.Input[Mapping[str, Any]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] account_specific_namespace_rules: Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). :param pulumi.Input[str] cspm_resource_collection_enabled: Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_regions: An array of AWS regions to exclude from metrics collection. :param pulumi.Input[str] extended_resource_collection_enabled: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection_enabled`. @@ -673,7 +673,7 @@ def account_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="accountSpecificNamespaceRules") - def account_specific_namespace_rules(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + def account_specific_namespace_rules(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ Enables or disables metric collection for specific AWS namespaces for this AWS account only. A list of namespaces can be found at the [available namespace rules API endpoint](https://docs.datadoghq.com/api/v1/aws-integration/#list-namespace-rules). """ diff --git a/sdk/python/pulumi_datadog/get_synthetics_locations.py b/sdk/python/pulumi_datadog/get_synthetics_locations.py index 096117ae1..b99340f10 100644 --- a/sdk/python/pulumi_datadog/get_synthetics_locations.py +++ b/sdk/python/pulumi_datadog/get_synthetics_locations.py @@ -39,7 +39,7 @@ def id(self) -> str: @property @pulumi.getter - def locations(self) -> Mapping[str, Any]: + def locations(self) -> Mapping[str, str]: """ A map of available Synthetics location IDs to names for Synthetics tests. """ diff --git a/sdk/python/pulumi_datadog/outputs.py b/sdk/python/pulumi_datadog/outputs.py index 4b64a969c..98aeedcd5 100644 --- a/sdk/python/pulumi_datadog/outputs.py +++ b/sdk/python/pulumi_datadog/outputs.py @@ -77632,10 +77632,10 @@ def __init__(__self__, *, request_client_certificate: Optional['outputs.SyntheticsTestApiStepRequestClientCertificate'] = None, request_definition: Optional['outputs.SyntheticsTestApiStepRequestDefinition'] = None, request_files: Optional[Sequence['outputs.SyntheticsTestApiStepRequestFile']] = None, - request_headers: Optional[Mapping[str, Any]] = None, - request_metadata: Optional[Mapping[str, Any]] = None, + request_headers: Optional[Mapping[str, str]] = None, + request_metadata: Optional[Mapping[str, str]] = None, request_proxy: Optional['outputs.SyntheticsTestApiStepRequestProxy'] = None, - request_query: Optional[Mapping[str, Any]] = None, + request_query: Optional[Mapping[str, str]] = None, retry: Optional['outputs.SyntheticsTestApiStepRetry'] = None, subtype: Optional[str] = None, value: Optional[int] = None): @@ -77649,10 +77649,10 @@ def __init__(__self__, *, :param 'SyntheticsTestApiStepRequestClientCertificateArgs' request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param 'SyntheticsTestApiStepRequestDefinitionArgs' request_definition: The request for the api step. :param Sequence['SyntheticsTestApiStepRequestFileArgs'] request_files: Files to be used as part of the request in the test. - :param Mapping[str, Any] request_headers: Header name and value map. - :param Mapping[str, Any] request_metadata: Metadata to include when performing the gRPC request. + :param Mapping[str, str] request_headers: Header name and value map. + :param Mapping[str, str] request_metadata: Metadata to include when performing the gRPC request. :param 'SyntheticsTestApiStepRequestProxyArgs' request_proxy: The proxy to perform the test. - :param Mapping[str, Any] request_query: Query arguments name and value map. + :param Mapping[str, str] request_query: Query arguments name and value map. :param str subtype: The subtype of the Synthetic multi-step API test step. Valid values are `http`, `grpc`, `wait`. Defaults to `"http"`. :param int value: The time to wait in seconds. Minimum value: 0. Maximum value: 180. """ @@ -77762,7 +77762,7 @@ def request_files(self) -> Optional[Sequence['outputs.SyntheticsTestApiStepReque @property @pulumi.getter(name="requestHeaders") - def request_headers(self) -> Optional[Mapping[str, Any]]: + def request_headers(self) -> Optional[Mapping[str, str]]: """ Header name and value map. """ @@ -77770,7 +77770,7 @@ def request_headers(self) -> Optional[Mapping[str, Any]]: @property @pulumi.getter(name="requestMetadata") - def request_metadata(self) -> Optional[Mapping[str, Any]]: + def request_metadata(self) -> Optional[Mapping[str, str]]: """ Metadata to include when performing the gRPC request. """ @@ -77786,7 +77786,7 @@ def request_proxy(self) -> Optional['outputs.SyntheticsTestApiStepRequestProxy'] @property @pulumi.getter(name="requestQuery") - def request_query(self) -> Optional[Mapping[str, Any]]: + def request_query(self) -> Optional[Mapping[str, str]]: """ Query arguments name and value map. """ @@ -78889,10 +78889,10 @@ def original_file_name(self) -> Optional[str]: class SyntheticsTestApiStepRequestProxy(dict): def __init__(__self__, *, url: str, - headers: Optional[Mapping[str, Any]] = None): + headers: Optional[Mapping[str, str]] = None): """ :param str url: URL of the proxy to perform the test. - :param Mapping[str, Any] headers: Header name and value map. + :param Mapping[str, str] headers: Header name and value map. """ pulumi.set(__self__, "url", url) if headers is not None: @@ -78908,7 +78908,7 @@ def url(self) -> str: @property @pulumi.getter - def headers(self) -> Optional[Mapping[str, Any]]: + def headers(self) -> Optional[Mapping[str, str]]: """ Header name and value map. """ @@ -81086,10 +81086,10 @@ def original_file_name(self) -> Optional[str]: class SyntheticsTestRequestProxy(dict): def __init__(__self__, *, url: str, - headers: Optional[Mapping[str, Any]] = None): + headers: Optional[Mapping[str, str]] = None): """ :param str url: URL of the proxy to perform the test. - :param Mapping[str, Any] headers: Header name and value map. + :param Mapping[str, str] headers: Header name and value map. """ pulumi.set(__self__, "url", url) if headers is not None: @@ -81105,7 +81105,7 @@ def url(self) -> str: @property @pulumi.getter - def headers(self) -> Optional[Mapping[str, Any]]: + def headers(self) -> Optional[Mapping[str, str]]: """ Header name and value map. """ diff --git a/sdk/python/pulumi_datadog/synthetics_test.py b/sdk/python/pulumi_datadog/synthetics_test.py index 6b81303a4..3db87cbb1 100644 --- a/sdk/python/pulumi_datadog/synthetics_test.py +++ b/sdk/python/pulumi_datadog/synthetics_test.py @@ -33,10 +33,10 @@ def __init__(__self__, *, request_client_certificate: Optional[pulumi.Input['SyntheticsTestRequestClientCertificateArgs']] = None, request_definition: Optional[pulumi.Input['SyntheticsTestRequestDefinitionArgs']] = None, request_files: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestRequestFileArgs']]]] = None, - request_headers: Optional[pulumi.Input[Mapping[str, Any]]] = None, - request_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + request_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, request_proxy: Optional[pulumi.Input['SyntheticsTestRequestProxyArgs']] = None, - request_query: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_query: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, set_cookie: Optional[pulumi.Input[str]] = None, subtype: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -59,10 +59,10 @@ def __init__(__self__, *, :param pulumi.Input['SyntheticsTestRequestClientCertificateArgs'] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param pulumi.Input['SyntheticsTestRequestDefinitionArgs'] request_definition: Required if `type = "api"`. The synthetics test request. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestRequestFileArgs']]] request_files: Files to be used as part of the request in the test. - :param pulumi.Input[Mapping[str, Any]] request_headers: Header name and value map. - :param pulumi.Input[Mapping[str, Any]] request_metadata: Metadata to include when performing the gRPC request. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_metadata: Metadata to include when performing the gRPC request. :param pulumi.Input['SyntheticsTestRequestProxyArgs'] request_proxy: The proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] request_query: Query arguments name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_query: Query arguments name and value map. :param pulumi.Input[str] set_cookie: Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. :param pulumi.Input[str] subtype: The subtype of the Synthetic API test. Defaults to `http`. Valid values are `http`, `ssl`, `tcp`, `dns`, `multi`, `icmp`, `udp`, `websocket`, `grpc`. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to associate with your synthetics test. This can help you categorize and filter tests in the manage synthetics page of the UI. Default is an empty list (`[]`). @@ -318,26 +318,26 @@ def request_files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Synt @property @pulumi.getter(name="requestHeaders") - def request_headers(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Header name and value map. """ return pulumi.get(self, "request_headers") @request_headers.setter - def request_headers(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_headers", value) @property @pulumi.getter(name="requestMetadata") - def request_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Metadata to include when performing the gRPC request. """ return pulumi.get(self, "request_metadata") @request_metadata.setter - def request_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_metadata", value) @property @@ -354,14 +354,14 @@ def request_proxy(self, value: Optional[pulumi.Input['SyntheticsTestRequestProxy @property @pulumi.getter(name="requestQuery") - def request_query(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_query(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Query arguments name and value map. """ return pulumi.get(self, "request_query") @request_query.setter - def request_query(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_query(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_query", value) @property @@ -432,10 +432,10 @@ def __init__(__self__, *, request_client_certificate: Optional[pulumi.Input['SyntheticsTestRequestClientCertificateArgs']] = None, request_definition: Optional[pulumi.Input['SyntheticsTestRequestDefinitionArgs']] = None, request_files: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestRequestFileArgs']]]] = None, - request_headers: Optional[pulumi.Input[Mapping[str, Any]]] = None, - request_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + request_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, request_proxy: Optional[pulumi.Input['SyntheticsTestRequestProxyArgs']] = None, - request_query: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_query: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, set_cookie: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, subtype: Optional[pulumi.Input[str]] = None, @@ -459,10 +459,10 @@ def __init__(__self__, *, :param pulumi.Input['SyntheticsTestRequestClientCertificateArgs'] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param pulumi.Input['SyntheticsTestRequestDefinitionArgs'] request_definition: Required if `type = "api"`. The synthetics test request. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestRequestFileArgs']]] request_files: Files to be used as part of the request in the test. - :param pulumi.Input[Mapping[str, Any]] request_headers: Header name and value map. - :param pulumi.Input[Mapping[str, Any]] request_metadata: Metadata to include when performing the gRPC request. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_metadata: Metadata to include when performing the gRPC request. :param pulumi.Input['SyntheticsTestRequestProxyArgs'] request_proxy: The proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] request_query: Query arguments name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_query: Query arguments name and value map. :param pulumi.Input[str] set_cookie: Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. :param pulumi.Input[str] status: Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. :param pulumi.Input[str] subtype: The subtype of the Synthetic API test. Defaults to `http`. Valid values are `http`, `ssl`, `tcp`, `dns`, `multi`, `icmp`, `udp`, `websocket`, `grpc`. @@ -714,26 +714,26 @@ def request_files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Synt @property @pulumi.getter(name="requestHeaders") - def request_headers(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Header name and value map. """ return pulumi.get(self, "request_headers") @request_headers.setter - def request_headers(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_headers", value) @property @pulumi.getter(name="requestMetadata") - def request_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Metadata to include when performing the gRPC request. """ return pulumi.get(self, "request_metadata") @request_metadata.setter - def request_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_metadata", value) @property @@ -750,14 +750,14 @@ def request_proxy(self, value: Optional[pulumi.Input['SyntheticsTestRequestProxy @property @pulumi.getter(name="requestQuery") - def request_query(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def request_query(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ Query arguments name and value map. """ return pulumi.get(self, "request_query") @request_query.setter - def request_query(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def request_query(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "request_query", value) @property @@ -853,10 +853,10 @@ def __init__(__self__, request_client_certificate: Optional[pulumi.Input[Union['SyntheticsTestRequestClientCertificateArgs', 'SyntheticsTestRequestClientCertificateArgsDict']]] = None, request_definition: Optional[pulumi.Input[Union['SyntheticsTestRequestDefinitionArgs', 'SyntheticsTestRequestDefinitionArgsDict']]] = None, request_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestRequestFileArgs', 'SyntheticsTestRequestFileArgsDict']]]]] = None, - request_headers: Optional[pulumi.Input[Mapping[str, Any]]] = None, - request_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + request_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, request_proxy: Optional[pulumi.Input[Union['SyntheticsTestRequestProxyArgs', 'SyntheticsTestRequestProxyArgsDict']]] = None, - request_query: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_query: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, set_cookie: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, subtype: Optional[pulumi.Input[str]] = None, @@ -1339,10 +1339,10 @@ def __init__(__self__, :param pulumi.Input[Union['SyntheticsTestRequestClientCertificateArgs', 'SyntheticsTestRequestClientCertificateArgsDict']] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param pulumi.Input[Union['SyntheticsTestRequestDefinitionArgs', 'SyntheticsTestRequestDefinitionArgsDict']] request_definition: Required if `type = "api"`. The synthetics test request. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestRequestFileArgs', 'SyntheticsTestRequestFileArgsDict']]]] request_files: Files to be used as part of the request in the test. - :param pulumi.Input[Mapping[str, Any]] request_headers: Header name and value map. - :param pulumi.Input[Mapping[str, Any]] request_metadata: Metadata to include when performing the gRPC request. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_metadata: Metadata to include when performing the gRPC request. :param pulumi.Input[Union['SyntheticsTestRequestProxyArgs', 'SyntheticsTestRequestProxyArgsDict']] request_proxy: The proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] request_query: Query arguments name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_query: Query arguments name and value map. :param pulumi.Input[str] set_cookie: Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. :param pulumi.Input[str] status: Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. :param pulumi.Input[str] subtype: The subtype of the Synthetic API test. Defaults to `http`. Valid values are `http`, `ssl`, `tcp`, `dns`, `multi`, `icmp`, `udp`, `websocket`, `grpc`. @@ -1845,10 +1845,10 @@ def _internal_init(__self__, request_client_certificate: Optional[pulumi.Input[Union['SyntheticsTestRequestClientCertificateArgs', 'SyntheticsTestRequestClientCertificateArgsDict']]] = None, request_definition: Optional[pulumi.Input[Union['SyntheticsTestRequestDefinitionArgs', 'SyntheticsTestRequestDefinitionArgsDict']]] = None, request_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestRequestFileArgs', 'SyntheticsTestRequestFileArgsDict']]]]] = None, - request_headers: Optional[pulumi.Input[Mapping[str, Any]]] = None, - request_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + request_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, request_proxy: Optional[pulumi.Input[Union['SyntheticsTestRequestProxyArgs', 'SyntheticsTestRequestProxyArgsDict']]] = None, - request_query: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_query: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, set_cookie: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, subtype: Optional[pulumi.Input[str]] = None, @@ -1924,10 +1924,10 @@ def get(resource_name: str, request_client_certificate: Optional[pulumi.Input[Union['SyntheticsTestRequestClientCertificateArgs', 'SyntheticsTestRequestClientCertificateArgsDict']]] = None, request_definition: Optional[pulumi.Input[Union['SyntheticsTestRequestDefinitionArgs', 'SyntheticsTestRequestDefinitionArgsDict']]] = None, request_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestRequestFileArgs', 'SyntheticsTestRequestFileArgsDict']]]]] = None, - request_headers: Optional[pulumi.Input[Mapping[str, Any]]] = None, - request_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + request_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, request_proxy: Optional[pulumi.Input[Union['SyntheticsTestRequestProxyArgs', 'SyntheticsTestRequestProxyArgsDict']]] = None, - request_query: Optional[pulumi.Input[Mapping[str, Any]]] = None, + request_query: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, set_cookie: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, subtype: Optional[pulumi.Input[str]] = None, @@ -1956,10 +1956,10 @@ def get(resource_name: str, :param pulumi.Input[Union['SyntheticsTestRequestClientCertificateArgs', 'SyntheticsTestRequestClientCertificateArgsDict']] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param pulumi.Input[Union['SyntheticsTestRequestDefinitionArgs', 'SyntheticsTestRequestDefinitionArgsDict']] request_definition: Required if `type = "api"`. The synthetics test request. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestRequestFileArgs', 'SyntheticsTestRequestFileArgsDict']]]] request_files: Files to be used as part of the request in the test. - :param pulumi.Input[Mapping[str, Any]] request_headers: Header name and value map. - :param pulumi.Input[Mapping[str, Any]] request_metadata: Metadata to include when performing the gRPC request. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_headers: Header name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_metadata: Metadata to include when performing the gRPC request. :param pulumi.Input[Union['SyntheticsTestRequestProxyArgs', 'SyntheticsTestRequestProxyArgsDict']] request_proxy: The proxy to perform the test. - :param pulumi.Input[Mapping[str, Any]] request_query: Query arguments name and value map. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] request_query: Query arguments name and value map. :param pulumi.Input[str] set_cookie: Cookies to be used for a browser test request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. :param pulumi.Input[str] status: Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Valid values are `live`, `paused`. :param pulumi.Input[str] subtype: The subtype of the Synthetic API test. Defaults to `http`. Valid values are `http`, `ssl`, `tcp`, `dns`, `multi`, `icmp`, `udp`, `websocket`, `grpc`. @@ -2126,7 +2126,7 @@ def request_files(self) -> pulumi.Output[Optional[Sequence['outputs.SyntheticsTe @property @pulumi.getter(name="requestHeaders") - def request_headers(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + def request_headers(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ Header name and value map. """ @@ -2134,7 +2134,7 @@ def request_headers(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: @property @pulumi.getter(name="requestMetadata") - def request_metadata(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + def request_metadata(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ Metadata to include when performing the gRPC request. """ @@ -2150,7 +2150,7 @@ def request_proxy(self) -> pulumi.Output[Optional['outputs.SyntheticsTestRequest @property @pulumi.getter(name="requestQuery") - def request_query(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + def request_query(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ Query arguments name and value map. """