diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 142464bf2..d33c3a212 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.11.0 \ No newline at end of file +0.12.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index 12dc4d75b..838277e0b 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.114.0 +require github.com/pulumi/pulumi/pkg/v3 v3.116.1 require ( cloud.google.com/go v0.112.1 // indirect @@ -138,7 +138,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.114.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.116.1 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 575d1ce05..1e5e36061 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1477,10 +1477,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/pkg/v3 v3.114.0 h1:+Ru1DfQKKmZcTYF7i+IWTaxvHX+vIWmVPyUXXksM3Uk= -github.com/pulumi/pulumi/pkg/v3 v3.114.0/go.mod h1:kNu4WL3BkF8zZ+1BTIWnEetNN1JtR4oRHWlxH2NZ6s0= -github.com/pulumi/pulumi/sdk/v3 v3.114.0 h1:KPBSvm04wE2/AdS8PlABxZAW4o7pSAnar0QOooH13no= -github.com/pulumi/pulumi/sdk/v3 v3.114.0/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= +github.com/pulumi/pulumi/pkg/v3 v3.116.1 h1:yeXAc7Pk5fUa9fvHhvsiO2ydEEZaqV+xwR+D1j6m3Bg= +github.com/pulumi/pulumi/pkg/v3 v3.116.1/go.mod h1:EvZSqsOyNPpqpPXr4td8Y454swkuD/nsyHTLoWm6qDQ= +github.com/pulumi/pulumi/sdk/v3 v3.116.1 h1:P/bIDPQYy1UJogLeV/zY+bG4iTZgEEJLlwyUYEW3NPc= +github.com/pulumi/pulumi/sdk/v3 v3.116.1/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/provider/cmd/pulumi-resource-datadog/schema.json b/provider/cmd/pulumi-resource-datadog/schema.json index b62a4f504..96d007151 100644 --- a/provider/cmd/pulumi-resource-datadog/schema.json +++ b/provider/cmd/pulumi-resource-datadog/schema.json @@ -72340,7 +72340,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.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", "properties": { "accessKeyId": { "type": "string", @@ -72552,7 +72552,7 @@ } }, "datadog:aws/integrationEventBridge:IntegrationEventBridge": { - "description": "Provides a Datadog - Amazon Web Services integration EventBridge resource. This can be used to create and manage Event Sources for each Datadog integrated AWS account.\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 new integration_aws_event_bridge resource\nconst foo = new datadog.aws.IntegrationEventBridge(\"foo\", {\n accountId: \"123456789012\",\n createEventBus: true,\n eventGeneratorName: \"app-alerts\",\n region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_aws_event_bridge resource\nfoo = datadog.aws.IntegrationEventBridge(\"foo\",\n account_id=\"123456789012\",\n create_event_bus=True,\n event_generator_name=\"app-alerts\",\n region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_aws_event_bridge resource\n var foo = new Datadog.Aws.IntegrationEventBridge(\"foo\", new()\n {\n AccountId = \"123456789012\",\n CreateEventBus = true,\n EventGeneratorName = \"app-alerts\",\n Region = \"us-east-1\",\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 new integration_aws_event_bridge resource\n\t\t_, err := aws.NewIntegrationEventBridge(ctx, \"foo\", \u0026aws.IntegrationEventBridgeArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tCreateEventBus: pulumi.Bool(true),\n\t\t\tEventGeneratorName: pulumi.String(\"app-alerts\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationEventBridge;\nimport com.pulumi.datadog.aws.IntegrationEventBridgeArgs;\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 new integration_aws_event_bridge resource\n var foo = new IntegrationEventBridge(\"foo\", IntegrationEventBridgeArgs.builder() \n .accountId(\"123456789012\")\n .createEventBus(true)\n .eventGeneratorName(\"app-alerts\")\n .region(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_aws_event_bridge resource\n foo:\n type: datadog:aws:IntegrationEventBridge\n properties:\n accountId: '123456789012'\n createEventBus: true\n eventGeneratorName: app-alerts\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Service EventBridge integrations are imported using the Event Source name as listed for an integrated AWS account in Datadog\n\n```sh\n$ pulumi import datadog:aws/integrationEventBridge:IntegrationEventBridge foo event-source-name-abc12345\n```\n\n", + "description": "Provides a Datadog - Amazon Web Services integration EventBridge resource. This can be used to create and manage Event Sources for each Datadog integrated AWS account.\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 new integration_aws_event_bridge resource\nconst foo = new datadog.aws.IntegrationEventBridge(\"foo\", {\n accountId: \"123456789012\",\n createEventBus: true,\n eventGeneratorName: \"app-alerts\",\n region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_aws_event_bridge resource\nfoo = datadog.aws.IntegrationEventBridge(\"foo\",\n account_id=\"123456789012\",\n create_event_bus=True,\n event_generator_name=\"app-alerts\",\n region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_aws_event_bridge resource\n var foo = new Datadog.Aws.IntegrationEventBridge(\"foo\", new()\n {\n AccountId = \"123456789012\",\n CreateEventBus = true,\n EventGeneratorName = \"app-alerts\",\n Region = \"us-east-1\",\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 new integration_aws_event_bridge resource\n\t\t_, err := aws.NewIntegrationEventBridge(ctx, \"foo\", \u0026aws.IntegrationEventBridgeArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tCreateEventBus: pulumi.Bool(true),\n\t\t\tEventGeneratorName: pulumi.String(\"app-alerts\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationEventBridge;\nimport com.pulumi.datadog.aws.IntegrationEventBridgeArgs;\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 new integration_aws_event_bridge resource\n var foo = new IntegrationEventBridge(\"foo\", IntegrationEventBridgeArgs.builder()\n .accountId(\"123456789012\")\n .createEventBus(true)\n .eventGeneratorName(\"app-alerts\")\n .region(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_aws_event_bridge resource\n foo:\n type: datadog:aws:IntegrationEventBridge\n properties:\n accountId: '123456789012'\n createEventBus: true\n eventGeneratorName: app-alerts\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Service EventBridge integrations are imported using the Event Source name as listed for an integrated AWS account in Datadog\n\n```sh\n$ pulumi import datadog:aws/integrationEventBridge:IntegrationEventBridge foo event-source-name-abc12345\n```\n\n", "properties": { "accountId": { "type": "string", @@ -72624,7 +72624,7 @@ } }, "datadog:aws/integrationLambdaArn:IntegrationLambdaArn": { - "description": "Provides a Datadog - Amazon Web Services integration Lambda ARN resource. This can be used to create and manage the log collection Lambdas for an account.\n\nUpdate operations are currently not supported with datadog API so any change forces a new resource.\n\n## 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 Lambda ARN\nconst mainCollector = new datadog.aws.IntegrationLambdaArn(\"main_collector\", {\n accountId: \"1234567890\",\n lambdaArn: \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration Lambda ARN\nmain_collector = datadog.aws.IntegrationLambdaArn(\"main_collector\",\n account_id=\"1234567890\",\n lambda_arn=\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration Lambda ARN\n var mainCollector = new Datadog.Aws.IntegrationLambdaArn(\"main_collector\", new()\n {\n AccountId = \"1234567890\",\n LambdaArn = \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration Lambda ARN\n\t\t_, err := aws.NewIntegrationLambdaArn(ctx, \"main_collector\", \u0026aws.IntegrationLambdaArnArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tLambdaArn: pulumi.String(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLambdaArn;\nimport com.pulumi.datadog.aws.IntegrationLambdaArnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Amazon Web Services integration Lambda ARN\n var mainCollector = new IntegrationLambdaArn(\"mainCollector\", IntegrationLambdaArnArgs.builder() \n .accountId(\"1234567890\")\n .lambdaArn(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration Lambda ARN\n mainCollector:\n type: datadog:aws:IntegrationLambdaArn\n name: main_collector\n properties:\n accountId: '1234567890'\n lambdaArn: arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Services Lambda ARN integrations can be imported using their account_id and lambda_arn separated with a space (` `).\n\n```sh\n$ pulumi import datadog:aws/integrationLambdaArn:IntegrationLambdaArn test \"1234567890 arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"\n```\n\n", + "description": "Provides a Datadog - Amazon Web Services integration Lambda ARN resource. This can be used to create and manage the log collection Lambdas for an account.\n\nUpdate operations are currently not supported with datadog API so any change forces a new resource.\n\n## 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 Lambda ARN\nconst mainCollector = new datadog.aws.IntegrationLambdaArn(\"main_collector\", {\n accountId: \"1234567890\",\n lambdaArn: \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration Lambda ARN\nmain_collector = datadog.aws.IntegrationLambdaArn(\"main_collector\",\n account_id=\"1234567890\",\n lambda_arn=\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration Lambda ARN\n var mainCollector = new Datadog.Aws.IntegrationLambdaArn(\"main_collector\", new()\n {\n AccountId = \"1234567890\",\n LambdaArn = \"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration Lambda ARN\n\t\t_, err := aws.NewIntegrationLambdaArn(ctx, \"main_collector\", \u0026aws.IntegrationLambdaArnArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tLambdaArn: pulumi.String(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLambdaArn;\nimport com.pulumi.datadog.aws.IntegrationLambdaArnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Amazon Web Services integration Lambda ARN\n var mainCollector = new IntegrationLambdaArn(\"mainCollector\", IntegrationLambdaArnArgs.builder()\n .accountId(\"1234567890\")\n .lambdaArn(\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration Lambda ARN\n mainCollector:\n type: datadog:aws:IntegrationLambdaArn\n name: main_collector\n properties:\n accountId: '1234567890'\n lambdaArn: arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Services Lambda ARN integrations can be imported using their account_id and lambda_arn separated with a space (` `).\n\n```sh\n$ pulumi import datadog:aws/integrationLambdaArn:IntegrationLambdaArn test \"1234567890 arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"\n```\n\n", "properties": { "accountId": { "type": "string", @@ -72673,7 +72673,7 @@ } }, "datadog:aws/integrationLogCollection:IntegrationLogCollection": { - "description": "Provides a Datadog - Amazon Web Services integration log collection resource. This can be used to manage which AWS services logs are collected from for an account.\n\n## 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 log collection\nconst main = new datadog.aws.IntegrationLogCollection(\"main\", {\n accountId: \"1234567890\",\n services: [\"lambda\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration log collection\nmain = datadog.aws.IntegrationLogCollection(\"main\",\n account_id=\"1234567890\",\n services=[\"lambda\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration log collection\n var main = new Datadog.Aws.IntegrationLogCollection(\"main\", new()\n {\n AccountId = \"1234567890\",\n Services = new[]\n {\n \"lambda\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration log collection\n\t\t_, err := aws.NewIntegrationLogCollection(ctx, \"main\", \u0026aws.IntegrationLogCollectionArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLogCollection;\nimport com.pulumi.datadog.aws.IntegrationLogCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Amazon Web Services integration log collection\n var main = new IntegrationLogCollection(\"main\", IntegrationLogCollectionArgs.builder() \n .accountId(\"1234567890\")\n .services(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration log collection\n main:\n type: datadog:aws:IntegrationLogCollection\n properties:\n accountId: '1234567890'\n services:\n - lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Services log collection integrations can be imported using the `account ID`.\n\n```sh\n$ pulumi import datadog:aws/integrationLogCollection:IntegrationLogCollection test 1234567890\n```\n\n", + "description": "Provides a Datadog - Amazon Web Services integration log collection resource. This can be used to manage which AWS services logs are collected from for an account.\n\n## 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 log collection\nconst main = new datadog.aws.IntegrationLogCollection(\"main\", {\n accountId: \"1234567890\",\n services: [\"lambda\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration log collection\nmain = datadog.aws.IntegrationLogCollection(\"main\",\n account_id=\"1234567890\",\n services=[\"lambda\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration log collection\n var main = new Datadog.Aws.IntegrationLogCollection(\"main\", new()\n {\n AccountId = \"1234567890\",\n Services = new[]\n {\n \"lambda\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration log collection\n\t\t_, err := aws.NewIntegrationLogCollection(ctx, \"main\", \u0026aws.IntegrationLogCollectionArgs{\n\t\t\tAccountId: pulumi.String(\"1234567890\"),\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"lambda\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationLogCollection;\nimport com.pulumi.datadog.aws.IntegrationLogCollectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Amazon Web Services integration log collection\n var main = new IntegrationLogCollection(\"main\", IntegrationLogCollectionArgs.builder()\n .accountId(\"1234567890\")\n .services(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration log collection\n main:\n type: datadog:aws:IntegrationLogCollection\n properties:\n accountId: '1234567890'\n services:\n - lambda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Services log collection integrations can be imported using the `account ID`.\n\n```sh\n$ pulumi import datadog:aws/integrationLogCollection:IntegrationLogCollection test 1234567890\n```\n\n", "properties": { "accountId": { "type": "string", @@ -72729,7 +72729,7 @@ } }, "datadog:aws/integrationTagFilter:IntegrationTagFilter": { - "description": "Provides a Datadog AWS tag filter resource. This can be used to create and manage Datadog AWS tag filters.\n\n## 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 tag filter\nconst foo = new datadog.aws.IntegrationTagFilter(\"foo\", {\n accountId: \"123456789010\",\n namespace: \"sqs\",\n tagFilterStr: \"key:value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration tag filter\nfoo = datadog.aws.IntegrationTagFilter(\"foo\",\n account_id=\"123456789010\",\n namespace=\"sqs\",\n tag_filter_str=\"key:value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration tag filter\n var foo = new Datadog.Aws.IntegrationTagFilter(\"foo\", new()\n {\n AccountId = \"123456789010\",\n Namespace = \"sqs\",\n TagFilterStr = \"key:value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration tag filter\n\t\t_, err := aws.NewIntegrationTagFilter(ctx, \"foo\", \u0026aws.IntegrationTagFilterArgs{\n\t\t\tAccountId: pulumi.String(\"123456789010\"),\n\t\t\tNamespace: pulumi.String(\"sqs\"),\n\t\t\tTagFilterStr: pulumi.String(\"key:value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationTagFilter;\nimport com.pulumi.datadog.aws.IntegrationTagFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Amazon Web Services integration tag filter\n var foo = new IntegrationTagFilter(\"foo\", IntegrationTagFilterArgs.builder() \n .accountId(\"123456789010\")\n .namespace(\"sqs\")\n .tagFilterStr(\"key:value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration tag filter\n foo:\n type: datadog:aws:IntegrationTagFilter\n properties:\n accountId: '123456789010'\n namespace: sqs\n tagFilterStr: key:value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Services log filter resource can be imported using their account ID and namespace separated with a colon (:).\n\n```sh\n$ pulumi import datadog:aws/integrationTagFilter:IntegrationTagFilter foo ${account_id}:${namespace}\n```\n\n", + "description": "Provides a Datadog AWS tag filter resource. This can be used to create and manage Datadog AWS tag filters.\n\n## 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 tag filter\nconst foo = new datadog.aws.IntegrationTagFilter(\"foo\", {\n accountId: \"123456789010\",\n namespace: \"sqs\",\n tagFilterStr: \"key:value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Amazon Web Services integration tag filter\nfoo = datadog.aws.IntegrationTagFilter(\"foo\",\n account_id=\"123456789010\",\n namespace=\"sqs\",\n tag_filter_str=\"key:value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Amazon Web Services integration tag filter\n var foo = new Datadog.Aws.IntegrationTagFilter(\"foo\", new()\n {\n AccountId = \"123456789010\",\n Namespace = \"sqs\",\n TagFilterStr = \"key:value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Amazon Web Services integration tag filter\n\t\t_, err := aws.NewIntegrationTagFilter(ctx, \"foo\", \u0026aws.IntegrationTagFilterArgs{\n\t\t\tAccountId: pulumi.String(\"123456789010\"),\n\t\t\tNamespace: pulumi.String(\"sqs\"),\n\t\t\tTagFilterStr: pulumi.String(\"key:value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.aws.IntegrationTagFilter;\nimport com.pulumi.datadog.aws.IntegrationTagFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Amazon Web Services integration tag filter\n var foo = new IntegrationTagFilter(\"foo\", IntegrationTagFilterArgs.builder()\n .accountId(\"123456789010\")\n .namespace(\"sqs\")\n .tagFilterStr(\"key:value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Amazon Web Services integration tag filter\n foo:\n type: datadog:aws:IntegrationTagFilter\n properties:\n accountId: '123456789010'\n namespace: sqs\n tagFilterStr: key:value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmazon Web Services log filter resource can be imported using their account ID and namespace separated with a colon (:).\n\n```sh\n$ pulumi import datadog:aws/integrationTagFilter:IntegrationTagFilter foo ${account_id}:${namespace}\n```\n\n", "properties": { "accountId": { "type": "string", @@ -72790,7 +72790,7 @@ } }, "datadog:azure/integration:Integration": { - "description": "Provides a Datadog - Microsoft Azure integration resource. This can be used to create and manage the integrations.\n\n## 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 - Microsoft Azure integration\nconst sandbox = new datadog.azure.Integration(\"sandbox\", {\n tenantName: \"\u003cazure_tenant_name\u003e\",\n clientId: \"\u003cazure_client_id\u003e\",\n clientSecret: \"\u003cazure_client_secret_key\u003e\",\n hostFilters: \"examplefilter:true,example:true\",\n appServicePlanFilters: \"examplefilter:true,example:another\",\n containerAppFilters: \"examplefilter:true,example:one_more\",\n automute: true,\n cspmEnabled: true,\n customMetricsEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Microsoft Azure integration\nsandbox = datadog.azure.Integration(\"sandbox\",\n tenant_name=\"\u003cazure_tenant_name\u003e\",\n client_id=\"\u003cazure_client_id\u003e\",\n client_secret=\"\u003cazure_client_secret_key\u003e\",\n host_filters=\"examplefilter:true,example:true\",\n app_service_plan_filters=\"examplefilter:true,example:another\",\n container_app_filters=\"examplefilter:true,example:one_more\",\n automute=True,\n cspm_enabled=True,\n custom_metrics_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Microsoft Azure integration\n var sandbox = new Datadog.Azure.Integration(\"sandbox\", new()\n {\n TenantName = \"\u003cazure_tenant_name\u003e\",\n ClientId = \"\u003cazure_client_id\u003e\",\n ClientSecret = \"\u003cazure_client_secret_key\u003e\",\n HostFilters = \"examplefilter:true,example:true\",\n AppServicePlanFilters = \"examplefilter:true,example:another\",\n ContainerAppFilters = \"examplefilter:true,example:one_more\",\n Automute = true,\n CspmEnabled = true,\n CustomMetricsEnabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/azure\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Microsoft Azure integration\n\t\t_, err := azure.NewIntegration(ctx, \"sandbox\", \u0026azure.IntegrationArgs{\n\t\t\tTenantName: pulumi.String(\"\u003cazure_tenant_name\u003e\"),\n\t\t\tClientId: pulumi.String(\"\u003cazure_client_id\u003e\"),\n\t\t\tClientSecret: pulumi.String(\"\u003cazure_client_secret_key\u003e\"),\n\t\t\tHostFilters: pulumi.String(\"examplefilter:true,example:true\"),\n\t\t\tAppServicePlanFilters: pulumi.String(\"examplefilter:true,example:another\"),\n\t\t\tContainerAppFilters: pulumi.String(\"examplefilter:true,example:one_more\"),\n\t\t\tAutomute: pulumi.Bool(true),\n\t\t\tCspmEnabled: pulumi.Bool(true),\n\t\t\tCustomMetricsEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.azure.Integration;\nimport com.pulumi.datadog.azure.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Microsoft Azure integration\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder() \n .tenantName(\"\u003cazure_tenant_name\u003e\")\n .clientId(\"\u003cazure_client_id\u003e\")\n .clientSecret(\"\u003cazure_client_secret_key\u003e\")\n .hostFilters(\"examplefilter:true,example:true\")\n .appServicePlanFilters(\"examplefilter:true,example:another\")\n .containerAppFilters(\"examplefilter:true,example:one_more\")\n .automute(true)\n .cspmEnabled(true)\n .customMetricsEnabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Microsoft Azure integration\n sandbox:\n type: datadog:azure:Integration\n properties:\n tenantName: \u003cazure_tenant_name\u003e\n clientId: \u003cazure_client_id\u003e\n clientSecret: \u003cazure_client_secret_key\u003e\n hostFilters: examplefilter:true,example:true\n appServicePlanFilters: examplefilter:true,example:another\n containerAppFilters: examplefilter:true,example:one_more\n automute: true\n cspmEnabled: true\n customMetricsEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicrosoft Azure integrations can be imported using their `tenant name` and `client` id separated with a colon (`:`).\n\n```sh\n$ pulumi import datadog:azure/integration:Integration sandbox ${tenant_name}:${client_id}\n```\n\n", + "description": "Provides a Datadog - Microsoft Azure integration resource. This can be used to create and manage the integrations.\n\n## 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 - Microsoft Azure integration\nconst sandbox = new datadog.azure.Integration(\"sandbox\", {\n tenantName: \"\u003cazure_tenant_name\u003e\",\n clientId: \"\u003cazure_client_id\u003e\",\n clientSecret: \"\u003cazure_client_secret_key\u003e\",\n hostFilters: \"examplefilter:true,example:true\",\n appServicePlanFilters: \"examplefilter:true,example:another\",\n containerAppFilters: \"examplefilter:true,example:one_more\",\n automute: true,\n cspmEnabled: true,\n customMetricsEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog - Microsoft Azure integration\nsandbox = datadog.azure.Integration(\"sandbox\",\n tenant_name=\"\u003cazure_tenant_name\u003e\",\n client_id=\"\u003cazure_client_id\u003e\",\n client_secret=\"\u003cazure_client_secret_key\u003e\",\n host_filters=\"examplefilter:true,example:true\",\n app_service_plan_filters=\"examplefilter:true,example:another\",\n container_app_filters=\"examplefilter:true,example:one_more\",\n automute=True,\n cspm_enabled=True,\n custom_metrics_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog - Microsoft Azure integration\n var sandbox = new Datadog.Azure.Integration(\"sandbox\", new()\n {\n TenantName = \"\u003cazure_tenant_name\u003e\",\n ClientId = \"\u003cazure_client_id\u003e\",\n ClientSecret = \"\u003cazure_client_secret_key\u003e\",\n HostFilters = \"examplefilter:true,example:true\",\n AppServicePlanFilters = \"examplefilter:true,example:another\",\n ContainerAppFilters = \"examplefilter:true,example:one_more\",\n Automute = true,\n CspmEnabled = true,\n CustomMetricsEnabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/azure\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog - Microsoft Azure integration\n\t\t_, err := azure.NewIntegration(ctx, \"sandbox\", \u0026azure.IntegrationArgs{\n\t\t\tTenantName: pulumi.String(\"\u003cazure_tenant_name\u003e\"),\n\t\t\tClientId: pulumi.String(\"\u003cazure_client_id\u003e\"),\n\t\t\tClientSecret: pulumi.String(\"\u003cazure_client_secret_key\u003e\"),\n\t\t\tHostFilters: pulumi.String(\"examplefilter:true,example:true\"),\n\t\t\tAppServicePlanFilters: pulumi.String(\"examplefilter:true,example:another\"),\n\t\t\tContainerAppFilters: pulumi.String(\"examplefilter:true,example:one_more\"),\n\t\t\tAutomute: pulumi.Bool(true),\n\t\t\tCspmEnabled: pulumi.Bool(true),\n\t\t\tCustomMetricsEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.azure.Integration;\nimport com.pulumi.datadog.azure.IntegrationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog - Microsoft Azure integration\n var sandbox = new Integration(\"sandbox\", IntegrationArgs.builder()\n .tenantName(\"\u003cazure_tenant_name\u003e\")\n .clientId(\"\u003cazure_client_id\u003e\")\n .clientSecret(\"\u003cazure_client_secret_key\u003e\")\n .hostFilters(\"examplefilter:true,example:true\")\n .appServicePlanFilters(\"examplefilter:true,example:another\")\n .containerAppFilters(\"examplefilter:true,example:one_more\")\n .automute(true)\n .cspmEnabled(true)\n .customMetricsEnabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog - Microsoft Azure integration\n sandbox:\n type: datadog:azure:Integration\n properties:\n tenantName: \u003cazure_tenant_name\u003e\n clientId: \u003cazure_client_id\u003e\n clientSecret: \u003cazure_client_secret_key\u003e\n hostFilters: examplefilter:true,example:true\n appServicePlanFilters: examplefilter:true,example:another\n containerAppFilters: examplefilter:true,example:one_more\n automute: true\n cspmEnabled: true\n customMetricsEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicrosoft Azure integrations can be imported using their `tenant name` and `client` id separated with a colon (`:`).\n\n```sh\n$ pulumi import datadog:azure/integration:Integration sandbox ${tenant_name}:${client_id}\n```\n\n", "properties": { "appServicePlanFilters": { "type": "string", @@ -72943,7 +72943,7 @@ } }, "datadog:cloudflare/integrationAccount:IntegrationAccount": { - "description": "Provides a Datadog IntegrationCloudflareAccount resource. This can be used to create and manage Datadog integration_cloudflare_account.\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 new integration_cloudflare_account resource\nconst foo = new datadog.cloudflare.IntegrationAccount(\"foo\", {\n apiKey: \"12345678910abc\",\n email: \"test-email@example.com\",\n name: \"test-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_cloudflare_account resource\nfoo = datadog.cloudflare.IntegrationAccount(\"foo\",\n api_key=\"12345678910abc\",\n email=\"test-email@example.com\",\n name=\"test-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_cloudflare_account resource\n var foo = new Datadog.Cloudflare.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"12345678910abc\",\n Email = \"test-email@example.com\",\n Name = \"test-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/cloudflare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new integration_cloudflare_account resource\n\t\t_, err := cloudflare.NewIntegrationAccount(ctx, \"foo\", \u0026cloudflare.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"12345678910abc\"),\n\t\t\tEmail: pulumi.String(\"test-email@example.com\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.cloudflare.IntegrationAccount;\nimport com.pulumi.datadog.cloudflare.IntegrationAccountArgs;\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 new integration_cloudflare_account resource\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder() \n .apiKey(\"12345678910abc\")\n .email(\"test-email@example.com\")\n .name(\"test-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_cloudflare_account resource\n foo:\n type: datadog:cloudflare:IntegrationAccount\n properties:\n apiKey: 12345678910abc\n email: test-email@example.com\n name: test-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:cloudflare/integrationAccount:IntegrationAccount new_list \"\u003cID\u003e\"\n```\n\n", + "description": "Provides a Datadog IntegrationCloudflareAccount resource. This can be used to create and manage Datadog integration_cloudflare_account.\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 new integration_cloudflare_account resource\nconst foo = new datadog.cloudflare.IntegrationAccount(\"foo\", {\n apiKey: \"12345678910abc\",\n email: \"test-email@example.com\",\n name: \"test-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_cloudflare_account resource\nfoo = datadog.cloudflare.IntegrationAccount(\"foo\",\n api_key=\"12345678910abc\",\n email=\"test-email@example.com\",\n name=\"test-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_cloudflare_account resource\n var foo = new Datadog.Cloudflare.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"12345678910abc\",\n Email = \"test-email@example.com\",\n Name = \"test-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/cloudflare\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new integration_cloudflare_account resource\n\t\t_, err := cloudflare.NewIntegrationAccount(ctx, \"foo\", \u0026cloudflare.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"12345678910abc\"),\n\t\t\tEmail: pulumi.String(\"test-email@example.com\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.cloudflare.IntegrationAccount;\nimport com.pulumi.datadog.cloudflare.IntegrationAccountArgs;\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 new integration_cloudflare_account resource\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder()\n .apiKey(\"12345678910abc\")\n .email(\"test-email@example.com\")\n .name(\"test-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_cloudflare_account resource\n foo:\n type: datadog:cloudflare:IntegrationAccount\n properties:\n apiKey: 12345678910abc\n email: test-email@example.com\n name: test-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:cloudflare/integrationAccount:IntegrationAccount new_list \"\u003cID\u003e\"\n```\n\n", "properties": { "apiKey": { "type": "string", @@ -73003,7 +73003,7 @@ } }, "datadog:confluent/integrationAccount:IntegrationAccount": { - "description": "Provides a Datadog IntegrationConfluentAccount resource. This can be used to create and manage Datadog integration_confluent_account.\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 new integration_confluent_account resource\nconst foo = new datadog.confluent.IntegrationAccount(\"foo\", {\n apiKey: \"TESTAPIKEY123\",\n apiSecret: \"test-api-secret-123\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_confluent_account resource\nfoo = datadog.confluent.IntegrationAccount(\"foo\",\n api_key=\"TESTAPIKEY123\",\n api_secret=\"test-api-secret-123\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_confluent_account resource\n var foo = new Datadog.Confluent.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"TESTAPIKEY123\",\n ApiSecret = \"test-api-secret-123\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/confluent\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new integration_confluent_account resource\n\t\t_, err := confluent.NewIntegrationAccount(ctx, \"foo\", \u0026confluent.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"TESTAPIKEY123\"),\n\t\t\tApiSecret: pulumi.String(\"test-api-secret-123\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.confluent.IntegrationAccount;\nimport com.pulumi.datadog.confluent.IntegrationAccountArgs;\nimport 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 new integration_confluent_account resource\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder() \n .apiKey(\"TESTAPIKEY123\")\n .apiSecret(\"test-api-secret-123\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_confluent_account resource\n foo:\n type: datadog:confluent:IntegrationAccount\n properties:\n apiKey: TESTAPIKEY123\n apiSecret: test-api-secret-123\n tags:\n - mytag\n - mytag2:myvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nConfluent account ID can be retrieved using the ListConfluentAccounts endpoint\n\nhttps://docs.datadoghq.com/api/latest/confluent-cloud/#list-confluent-accounts\n\n```sh\n$ pulumi import datadog:confluent/integrationAccount:IntegrationAccount new_list \"\u003cID\u003e\"\n```\n\n", + "description": "Provides a Datadog IntegrationConfluentAccount resource. This can be used to create and manage Datadog integration_confluent_account.\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 new integration_confluent_account resource\nconst foo = new datadog.confluent.IntegrationAccount(\"foo\", {\n apiKey: \"TESTAPIKEY123\",\n apiSecret: \"test-api-secret-123\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_confluent_account resource\nfoo = datadog.confluent.IntegrationAccount(\"foo\",\n api_key=\"TESTAPIKEY123\",\n api_secret=\"test-api-secret-123\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_confluent_account resource\n var foo = new Datadog.Confluent.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"TESTAPIKEY123\",\n ApiSecret = \"test-api-secret-123\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/confluent\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new integration_confluent_account resource\n\t\t_, err := confluent.NewIntegrationAccount(ctx, \"foo\", \u0026confluent.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"TESTAPIKEY123\"),\n\t\t\tApiSecret: pulumi.String(\"test-api-secret-123\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.confluent.IntegrationAccount;\nimport com.pulumi.datadog.confluent.IntegrationAccountArgs;\nimport 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 new integration_confluent_account resource\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder()\n .apiKey(\"TESTAPIKEY123\")\n .apiSecret(\"test-api-secret-123\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_confluent_account resource\n foo:\n type: datadog:confluent:IntegrationAccount\n properties:\n apiKey: TESTAPIKEY123\n apiSecret: test-api-secret-123\n tags:\n - mytag\n - mytag2:myvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nConfluent account ID can be retrieved using the ListConfluentAccounts endpoint\n\nhttps://docs.datadoghq.com/api/latest/confluent-cloud/#list-confluent-accounts\n\n```sh\n$ pulumi import datadog:confluent/integrationAccount:IntegrationAccount new_list \"\u003cID\u003e\"\n```\n\n", "properties": { "apiKey": { "type": "string", @@ -73072,7 +73072,7 @@ } }, "datadog:confluent/integrationResource:IntegrationResource": { - "description": "Provides a Datadog IntegrationConfluentResource resource. This can be used to create and manage Datadog integration_confluent_resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst foo = new datadog.confluent.IntegrationAccount(\"foo\", {\n apiKey: \"TESTAPIKEY123\",\n apiSecret: \"test-api-secret-123\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n// Create new integration_confluent_resource resource\nconst fooIntegrationResource = new datadog.confluent.IntegrationResource(\"foo\", {\n accountId: foo.id,\n resourceId: \"123456\",\n resourceType: \"kafka\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.confluent.IntegrationAccount(\"foo\",\n api_key=\"TESTAPIKEY123\",\n api_secret=\"test-api-secret-123\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n# Create new integration_confluent_resource resource\nfoo_integration_resource = datadog.confluent.IntegrationResource(\"foo\",\n account_id=foo.id,\n resource_id=\"123456\",\n resource_type=\"kafka\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Confluent.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"TESTAPIKEY123\",\n ApiSecret = \"test-api-secret-123\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n // Create new integration_confluent_resource resource\n var fooIntegrationResource = new Datadog.Confluent.IntegrationResource(\"foo\", new()\n {\n AccountId = foo.Id,\n ResourceId = \"123456\",\n ResourceType = \"kafka\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/confluent\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := confluent.NewIntegrationAccount(ctx, \"foo\", \u0026confluent.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"TESTAPIKEY123\"),\n\t\t\tApiSecret: pulumi.String(\"test-api-secret-123\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new integration_confluent_resource resource\n\t\t_, err = confluent.NewIntegrationResource(ctx, \"foo\", \u0026confluent.IntegrationResourceArgs{\n\t\t\tAccountId: foo.ID(),\n\t\t\tResourceId: pulumi.String(\"123456\"),\n\t\t\tResourceType: pulumi.String(\"kafka\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.confluent.IntegrationAccount;\nimport com.pulumi.datadog.confluent.IntegrationAccountArgs;\nimport com.pulumi.datadog.confluent.IntegrationResource;\nimport com.pulumi.datadog.confluent.IntegrationResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder() \n .apiKey(\"TESTAPIKEY123\")\n .apiSecret(\"test-api-secret-123\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n // Create new integration_confluent_resource resource\n var fooIntegrationResource = new IntegrationResource(\"fooIntegrationResource\", IntegrationResourceArgs.builder() \n .accountId(foo.id())\n .resourceId(\"123456\")\n .resourceType(\"kafka\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:confluent:IntegrationAccount\n properties:\n apiKey: TESTAPIKEY123\n apiSecret: test-api-secret-123\n tags:\n - mytag\n - mytag2:myvalue\n # Create new integration_confluent_resource resource\n fooIntegrationResource:\n type: datadog:confluent:IntegrationResource\n name: foo\n properties:\n accountId: ${foo.id}\n resourceId: '123456'\n resourceType: kafka\n tags:\n - mytag\n - mytag2:myvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:confluent/integrationResource:IntegrationResource new_list \"confluent_account_id:confluent_resource_id\"\n```\n\n", + "description": "Provides a Datadog IntegrationConfluentResource resource. This can be used to create and manage Datadog integration_confluent_resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst foo = new datadog.confluent.IntegrationAccount(\"foo\", {\n apiKey: \"TESTAPIKEY123\",\n apiSecret: \"test-api-secret-123\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n// Create new integration_confluent_resource resource\nconst fooIntegrationResource = new datadog.confluent.IntegrationResource(\"foo\", {\n accountId: foo.id,\n resourceId: \"123456\",\n resourceType: \"kafka\",\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.confluent.IntegrationAccount(\"foo\",\n api_key=\"TESTAPIKEY123\",\n api_secret=\"test-api-secret-123\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n# Create new integration_confluent_resource resource\nfoo_integration_resource = datadog.confluent.IntegrationResource(\"foo\",\n account_id=foo.id,\n resource_id=\"123456\",\n resource_type=\"kafka\",\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Confluent.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"TESTAPIKEY123\",\n ApiSecret = \"test-api-secret-123\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n // Create new integration_confluent_resource resource\n var fooIntegrationResource = new Datadog.Confluent.IntegrationResource(\"foo\", new()\n {\n AccountId = foo.Id,\n ResourceId = \"123456\",\n ResourceType = \"kafka\",\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/confluent\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := confluent.NewIntegrationAccount(ctx, \"foo\", \u0026confluent.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"TESTAPIKEY123\"),\n\t\t\tApiSecret: pulumi.String(\"test-api-secret-123\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new integration_confluent_resource resource\n\t\t_, err = confluent.NewIntegrationResource(ctx, \"foo\", \u0026confluent.IntegrationResourceArgs{\n\t\t\tAccountId: foo.ID(),\n\t\t\tResourceId: pulumi.String(\"123456\"),\n\t\t\tResourceType: pulumi.String(\"kafka\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.confluent.IntegrationAccount;\nimport com.pulumi.datadog.confluent.IntegrationAccountArgs;\nimport com.pulumi.datadog.confluent.IntegrationResource;\nimport com.pulumi.datadog.confluent.IntegrationResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder()\n .apiKey(\"TESTAPIKEY123\")\n .apiSecret(\"test-api-secret-123\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n // Create new integration_confluent_resource resource\n var fooIntegrationResource = new IntegrationResource(\"fooIntegrationResource\", IntegrationResourceArgs.builder()\n .accountId(foo.id())\n .resourceId(\"123456\")\n .resourceType(\"kafka\")\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:confluent:IntegrationAccount\n properties:\n apiKey: TESTAPIKEY123\n apiSecret: test-api-secret-123\n tags:\n - mytag\n - mytag2:myvalue\n # Create new integration_confluent_resource resource\n fooIntegrationResource:\n type: datadog:confluent:IntegrationResource\n name: foo\n properties:\n accountId: ${foo.id}\n resourceId: '123456'\n resourceType: kafka\n tags:\n - mytag\n - mytag2:myvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:confluent/integrationResource:IntegrationResource new_list \"confluent_account_id:confluent_resource_id\"\n```\n\n", "properties": { "accountId": { "type": "string", @@ -73163,7 +73163,7 @@ } }, "datadog:fastly/integrationAccount:IntegrationAccount": { - "description": "Provides a Datadog IntegrationFastlyAccount resource. This can be used to create and manage Datadog integration_fastly_account.\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 new integration_fastly_account resource\nconst foo = new datadog.fastly.IntegrationAccount(\"foo\", {\n apiKey: \"ABCDEFG123\",\n name: \"test-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_fastly_account resource\nfoo = datadog.fastly.IntegrationAccount(\"foo\",\n api_key=\"ABCDEFG123\",\n name=\"test-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_fastly_account resource\n var foo = new Datadog.Fastly.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"ABCDEFG123\",\n Name = \"test-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new integration_fastly_account resource\n\t\t_, err := fastly.NewIntegrationAccount(ctx, \"foo\", \u0026fastly.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"ABCDEFG123\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.fastly.IntegrationAccount;\nimport com.pulumi.datadog.fastly.IntegrationAccountArgs;\nimport 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 new integration_fastly_account resource\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder() \n .apiKey(\"ABCDEFG123\")\n .name(\"test-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_fastly_account resource\n foo:\n type: datadog:fastly:IntegrationAccount\n properties:\n apiKey: ABCDEFG123\n name: test-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:fastly/integrationAccount:IntegrationAccount new_list \"a8f5f167f44f4964e6c998dee827110c\"\n```\n\n", + "description": "Provides a Datadog IntegrationFastlyAccount resource. This can be used to create and manage Datadog integration_fastly_account.\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 new integration_fastly_account resource\nconst foo = new datadog.fastly.IntegrationAccount(\"foo\", {\n apiKey: \"ABCDEFG123\",\n name: \"test-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new integration_fastly_account resource\nfoo = datadog.fastly.IntegrationAccount(\"foo\",\n api_key=\"ABCDEFG123\",\n name=\"test-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new integration_fastly_account resource\n var foo = new Datadog.Fastly.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"ABCDEFG123\",\n Name = \"test-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new integration_fastly_account resource\n\t\t_, err := fastly.NewIntegrationAccount(ctx, \"foo\", \u0026fastly.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"ABCDEFG123\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.fastly.IntegrationAccount;\nimport com.pulumi.datadog.fastly.IntegrationAccountArgs;\nimport 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 new integration_fastly_account resource\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder()\n .apiKey(\"ABCDEFG123\")\n .name(\"test-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new integration_fastly_account resource\n foo:\n type: datadog:fastly:IntegrationAccount\n properties:\n apiKey: ABCDEFG123\n name: test-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:fastly/integrationAccount:IntegrationAccount new_list \"a8f5f167f44f4964e6c998dee827110c\"\n```\n\n", "properties": { "apiKey": { "type": "string", @@ -73208,7 +73208,7 @@ } }, "datadog:fastly/integrationService:IntegrationService": { - "description": "Provides a Datadog IntegrationFastlyService resource. This can be used to create and manage Datadog integration_fastly_service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst foo = new datadog.fastly.IntegrationAccount(\"foo\", {\n apiKey: \"ABCDEFG123\",\n name: \"test-name\",\n});\n// Create new integration_fastly_service resource\nconst fooIntegrationService = new datadog.fastly.IntegrationService(\"foo\", {\n accountId: foo.id,\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n serviceId: \"my-service-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.fastly.IntegrationAccount(\"foo\",\n api_key=\"ABCDEFG123\",\n name=\"test-name\")\n# Create new integration_fastly_service resource\nfoo_integration_service = datadog.fastly.IntegrationService(\"foo\",\n account_id=foo.id,\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n service_id=\"my-service-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Fastly.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"ABCDEFG123\",\n Name = \"test-name\",\n });\n\n // Create new integration_fastly_service resource\n var fooIntegrationService = new Datadog.Fastly.IntegrationService(\"foo\", new()\n {\n AccountId = foo.Id,\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n ServiceId = \"my-service-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := fastly.NewIntegrationAccount(ctx, \"foo\", \u0026fastly.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"ABCDEFG123\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new integration_fastly_service resource\n\t\t_, err = fastly.NewIntegrationService(ctx, \"foo\", \u0026fastly.IntegrationServiceArgs{\n\t\t\tAccountId: foo.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t\tServiceId: pulumi.String(\"my-service-id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.fastly.IntegrationAccount;\nimport com.pulumi.datadog.fastly.IntegrationAccountArgs;\nimport com.pulumi.datadog.fastly.IntegrationService;\nimport com.pulumi.datadog.fastly.IntegrationServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder() \n .apiKey(\"ABCDEFG123\")\n .name(\"test-name\")\n .build());\n\n // Create new integration_fastly_service resource\n var fooIntegrationService = new IntegrationService(\"fooIntegrationService\", IntegrationServiceArgs.builder() \n .accountId(foo.id())\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .serviceId(\"my-service-id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:fastly:IntegrationAccount\n properties:\n apiKey: ABCDEFG123\n name: test-name\n # Create new integration_fastly_service resource\n fooIntegrationService:\n type: datadog:fastly:IntegrationService\n name: foo\n properties:\n accountId: ${foo.id}\n tags:\n - mytag\n - mytag2:myvalue\n serviceId: my-service-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:fastly/integrationService:IntegrationService new_list \"service-id\"\n```\n\n", + "description": "Provides a Datadog IntegrationFastlyService resource. This can be used to create and manage Datadog integration_fastly_service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst foo = new datadog.fastly.IntegrationAccount(\"foo\", {\n apiKey: \"ABCDEFG123\",\n name: \"test-name\",\n});\n// Create new integration_fastly_service resource\nconst fooIntegrationService = new datadog.fastly.IntegrationService(\"foo\", {\n accountId: foo.id,\n tags: [\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n serviceId: \"my-service-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.fastly.IntegrationAccount(\"foo\",\n api_key=\"ABCDEFG123\",\n name=\"test-name\")\n# Create new integration_fastly_service resource\nfoo_integration_service = datadog.fastly.IntegrationService(\"foo\",\n account_id=foo.id,\n tags=[\n \"mytag\",\n \"mytag2:myvalue\",\n ],\n service_id=\"my-service-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Fastly.IntegrationAccount(\"foo\", new()\n {\n ApiKey = \"ABCDEFG123\",\n Name = \"test-name\",\n });\n\n // Create new integration_fastly_service resource\n var fooIntegrationService = new Datadog.Fastly.IntegrationService(\"foo\", new()\n {\n AccountId = foo.Id,\n Tags = new[]\n {\n \"mytag\",\n \"mytag2:myvalue\",\n },\n ServiceId = \"my-service-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/fastly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := fastly.NewIntegrationAccount(ctx, \"foo\", \u0026fastly.IntegrationAccountArgs{\n\t\t\tApiKey: pulumi.String(\"ABCDEFG123\"),\n\t\t\tName: pulumi.String(\"test-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new integration_fastly_service resource\n\t\t_, err = fastly.NewIntegrationService(ctx, \"foo\", \u0026fastly.IntegrationServiceArgs{\n\t\t\tAccountId: foo.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag\"),\n\t\t\t\tpulumi.String(\"mytag2:myvalue\"),\n\t\t\t},\n\t\t\tServiceId: pulumi.String(\"my-service-id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.fastly.IntegrationAccount;\nimport com.pulumi.datadog.fastly.IntegrationAccountArgs;\nimport com.pulumi.datadog.fastly.IntegrationService;\nimport com.pulumi.datadog.fastly.IntegrationServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new IntegrationAccount(\"foo\", IntegrationAccountArgs.builder()\n .apiKey(\"ABCDEFG123\")\n .name(\"test-name\")\n .build());\n\n // Create new integration_fastly_service resource\n var fooIntegrationService = new IntegrationService(\"fooIntegrationService\", IntegrationServiceArgs.builder()\n .accountId(foo.id())\n .tags( \n \"mytag\",\n \"mytag2:myvalue\")\n .serviceId(\"my-service-id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:fastly:IntegrationAccount\n properties:\n apiKey: ABCDEFG123\n name: test-name\n # Create new integration_fastly_service resource\n fooIntegrationService:\n type: datadog:fastly:IntegrationService\n name: foo\n properties:\n accountId: ${foo.id}\n tags:\n - mytag\n - mytag2:myvalue\n serviceId: my-service-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:fastly/integrationService:IntegrationService new_list \"service-id\"\n```\n\n", "properties": { "accountId": { "type": "string", @@ -73561,7 +73561,7 @@ } }, "datadog:index/apiKey:ApiKey": { - "description": "Provides a Datadog API Key resource. This can be used to create and manage Datadog API Keys.\n\n## 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 API Key\nconst foo = new datadog.ApiKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog API Key\nfoo = datadog.ApiKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog API Key\n var foo = new Datadog.ApiKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog API Key\n\t\t_, err := datadog.NewApiKey(ctx, \"foo\", \u0026datadog.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApiKey;\nimport com.pulumi.datadog.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog API Key\n var foo = new ApiKey(\"foo\", ApiKeyArgs.builder() \n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog API Key\n foo:\n type: datadog:ApiKey\n properties:\n name: foo-application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/apiKey:ApiKey foo 11111111-2222-3333-4444-555555555555\n```\n\n", + "description": "Provides a Datadog API Key resource. This can be used to create and manage Datadog API Keys.\n\n## 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 API Key\nconst foo = new datadog.ApiKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog API Key\nfoo = datadog.ApiKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog API Key\n var foo = new Datadog.ApiKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog API Key\n\t\t_, err := datadog.NewApiKey(ctx, \"foo\", \u0026datadog.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApiKey;\nimport com.pulumi.datadog.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog API Key\n var foo = new ApiKey(\"foo\", ApiKeyArgs.builder()\n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog API Key\n foo:\n type: datadog:ApiKey\n properties:\n name: foo-application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/apiKey:ApiKey foo 11111111-2222-3333-4444-555555555555\n```\n\n", "properties": { "key": { "type": "string", @@ -73603,7 +73603,7 @@ } }, "datadog:index/apmRetentionFilter:ApmRetentionFilter": { - "description": "The object describing the configuration of the retention filter to create/update.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApmRetentionFilter;\nimport com.pulumi.datadog.ApmRetentionFilterArgs;\nimport 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 APM retention filter\n var foo = new ApmRetentionFilter(\"foo\", ApmRetentionFilterArgs.builder() \n .name(\"Sample order\")\n .rate(\"1.0\")\n .filter(ApmRetentionFilterFilterArgs.builder()\n .query(\"*\")\n .build())\n .filterType(\"spans-sampling-processor\")\n .enabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create APM retention filter\n foo:\n type: datadog:ApmRetentionFilter\n properties:\n name: Sample order\n rate: '1.0'\n filter:\n - query: '*'\n filterType: spans-sampling-processor\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport existing APM retention filter \n\n```sh\n$ pulumi import datadog:index/apmRetentionFilter:ApmRetentionFilter foo \u003cfilter_id\u003e\n```\n\n", + "description": "The object describing the configuration of the retention filter to create/update.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApmRetentionFilter;\nimport com.pulumi.datadog.ApmRetentionFilterArgs;\nimport 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 APM retention filter\n var foo = new ApmRetentionFilter(\"foo\", ApmRetentionFilterArgs.builder()\n .name(\"Sample order\")\n .rate(\"1.0\")\n .filter(ApmRetentionFilterFilterArgs.builder()\n .query(\"*\")\n .build())\n .filterType(\"spans-sampling-processor\")\n .enabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create APM retention filter\n foo:\n type: datadog:ApmRetentionFilter\n properties:\n name: Sample order\n rate: '1.0'\n filter:\n - query: '*'\n filterType: spans-sampling-processor\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport existing APM retention filter \n\n```sh\n$ pulumi import datadog:index/apmRetentionFilter:ApmRetentionFilter foo \u003cfilter_id\u003e\n```\n\n", "properties": { "enabled": { "type": "boolean", @@ -73688,7 +73688,7 @@ } }, "datadog:index/apmRetentionFilterOrder:ApmRetentionFilterOrder": { - "description": "Provides a Datadog [APM Retention Filters API](https://docs.datadoghq.com/api/v2/apm-retention-filters/) resource, which is used to manage Datadog APM retention filters order.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApmRetentionFilter;\nimport com.pulumi.datadog.ApmRetentionFilterArgs;\nimport com.pulumi.datadog.ApmRetentionFilterOrder;\nimport com.pulumi.datadog.ApmRetentionFilterOrderArgs;\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 APM retention filter\n var foo = new ApmRetentionFilter(\"foo\", ApmRetentionFilterArgs.builder() \n .name(\"Sample order\")\n .rate(\"1.0\")\n .filter(ApmRetentionFilterFilterArgs.builder()\n .query(\"*\")\n .build())\n .filterType(\"spans-sampling-processor\")\n .enabled(false)\n .build());\n\n // Create APM reention filter order\n var bar = new ApmRetentionFilterOrder(\"bar\", ApmRetentionFilterOrderArgs.builder() \n .filterIds(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create APM retention filter\n foo:\n type: datadog:ApmRetentionFilter\n properties:\n name: Sample order\n rate: '1.0'\n filter:\n - query: '*'\n filterType: spans-sampling-processor\n enabled: false\n # Create APM reention filter order\n bar:\n type: datadog:ApmRetentionFilterOrder\n properties:\n filterIds:\n - ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport existing APM retention filter order\n\nNote: Value of \u003cfoo\u003e can be anything as this id is not stored by the resource\n\n```sh\n$ pulumi import datadog:index/apmRetentionFilterOrder:ApmRetentionFilterOrder bar \u003cfoo\u003e\n```\n\n", + "description": "Provides a Datadog [APM Retention Filters API](https://docs.datadoghq.com/api/v2/apm-retention-filters/) resource, which is used to manage Datadog APM retention filters order.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApmRetentionFilter;\nimport com.pulumi.datadog.ApmRetentionFilterArgs;\nimport com.pulumi.datadog.ApmRetentionFilterOrder;\nimport com.pulumi.datadog.ApmRetentionFilterOrderArgs;\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 APM retention filter\n var foo = new ApmRetentionFilter(\"foo\", ApmRetentionFilterArgs.builder()\n .name(\"Sample order\")\n .rate(\"1.0\")\n .filter(ApmRetentionFilterFilterArgs.builder()\n .query(\"*\")\n .build())\n .filterType(\"spans-sampling-processor\")\n .enabled(false)\n .build());\n\n // Create APM reention filter order\n var bar = new ApmRetentionFilterOrder(\"bar\", ApmRetentionFilterOrderArgs.builder()\n .filterIds(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create APM retention filter\n foo:\n type: datadog:ApmRetentionFilter\n properties:\n name: Sample order\n rate: '1.0'\n filter:\n - query: '*'\n filterType: spans-sampling-processor\n enabled: false\n # Create APM reention filter order\n bar:\n type: datadog:ApmRetentionFilterOrder\n properties:\n filterIds:\n - ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport existing APM retention filter order\n\nNote: Value of \u003cfoo\u003e can be anything as this id is not stored by the resource\n\n```sh\n$ pulumi import datadog:index/apmRetentionFilterOrder:ApmRetentionFilterOrder bar \u003cfoo\u003e\n```\n\n", "properties": { "filterIds": { "type": "array", @@ -73728,7 +73728,7 @@ } }, "datadog:index/applicationKey:ApplicationKey": { - "description": "Provides a Datadog Application Key resource. This can be used to create and manage Datadog Application Keys.\n\n## 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 Application Key\nconst foo = new datadog.ApplicationKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Application Key\nfoo = datadog.ApplicationKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Application Key\n var foo = new Datadog.ApplicationKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog Application Key\n\t\t_, err := datadog.NewApplicationKey(ctx, \"foo\", \u0026datadog.ApplicationKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApplicationKey;\nimport com.pulumi.datadog.ApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog Application Key\n var foo = new ApplicationKey(\"foo\", ApplicationKeyArgs.builder() \n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Application Key\n foo:\n type: datadog:ApplicationKey\n properties:\n name: foo-application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/applicationKey:ApplicationKey foo 11111111-2222-3333-4444-555555555555\n```\n\n", + "description": "Provides a Datadog Application Key resource. This can be used to create and manage Datadog Application Keys.\n\n## 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 Application Key\nconst foo = new datadog.ApplicationKey(\"foo\", {name: \"foo-application\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Application Key\nfoo = datadog.ApplicationKey(\"foo\", name=\"foo-application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Application Key\n var foo = new Datadog.ApplicationKey(\"foo\", new()\n {\n Name = \"foo-application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog Application Key\n\t\t_, err := datadog.NewApplicationKey(ctx, \"foo\", \u0026datadog.ApplicationKeyArgs{\n\t\t\tName: pulumi.String(\"foo-application\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ApplicationKey;\nimport com.pulumi.datadog.ApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog Application Key\n var foo = new ApplicationKey(\"foo\", ApplicationKeyArgs.builder()\n .name(\"foo-application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Application Key\n foo:\n type: datadog:ApplicationKey\n properties:\n name: foo-application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/applicationKey:ApplicationKey foo 11111111-2222-3333-4444-555555555555\n```\n\n", "properties": { "key": { "type": "string", @@ -73770,7 +73770,7 @@ } }, "datadog:index/authnMapping:AuthnMapping": { - "description": "Provides a Datadog AuthN Mappings resource. This feature lets you automatically assign roles to users based on their SAML attributes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Source the role\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new AuthN mapping\nconst devRoRoleMapping = new datadog.AuthnMapping(\"dev_ro_role_mapping\", {\n key: \"Member-of\",\n value: \"Development\",\n role: roRole.then(roRole =\u003e roRole.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source the role\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new AuthN mapping\ndev_ro_role_mapping = datadog.AuthnMapping(\"dev_ro_role_mapping\",\n key=\"Member-of\",\n value=\"Development\",\n role=ro_role.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source the role\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new AuthN mapping\n var devRoRoleMapping = new Datadog.AuthnMapping(\"dev_ro_role_mapping\", new()\n {\n Key = \"Member-of\",\n Value = \"Development\",\n Role = roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source the role\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new AuthN mapping\n\t\t_, err = datadog.NewAuthnMapping(ctx, \"dev_ro_role_mapping\", \u0026datadog.AuthnMappingArgs{\n\t\t\tKey: pulumi.String(\"Member-of\"),\n\t\t\tValue: pulumi.String(\"Development\"),\n\t\t\tRole: pulumi.String(roRole.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.AuthnMapping;\nimport com.pulumi.datadog.AuthnMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source the role\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n // Create a new AuthN mapping\n var devRoRoleMapping = new AuthnMapping(\"devRoRoleMapping\", AuthnMappingArgs.builder() \n .key(\"Member-of\")\n .value(\"Development\")\n .role(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new AuthN mapping\n devRoRoleMapping:\n type: datadog:AuthnMapping\n name: dev_ro_role_mapping\n properties:\n key: Member-of\n value: Development\n role: ${roRole.id}\nvariables:\n # Source the role\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAuthN mappings can be imported using their ID, e.g.\n\n```sh\n$ pulumi import datadog:index/authnMapping:AuthnMapping dev_ro_mapping 000000-0000-0000-0000-000000000000\n```\n\n", + "description": "Provides a Datadog AuthN Mappings resource. This feature lets you automatically assign roles to users based on their SAML attributes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Source the role\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new AuthN mapping\nconst devRoRoleMapping = new datadog.AuthnMapping(\"dev_ro_role_mapping\", {\n key: \"Member-of\",\n value: \"Development\",\n role: roRole.then(roRole =\u003e roRole.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source the role\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new AuthN mapping\ndev_ro_role_mapping = datadog.AuthnMapping(\"dev_ro_role_mapping\",\n key=\"Member-of\",\n value=\"Development\",\n role=ro_role.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source the role\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new AuthN mapping\n var devRoRoleMapping = new Datadog.AuthnMapping(\"dev_ro_role_mapping\", new()\n {\n Key = \"Member-of\",\n Value = \"Development\",\n Role = roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source the role\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new AuthN mapping\n\t\t_, err = datadog.NewAuthnMapping(ctx, \"dev_ro_role_mapping\", \u0026datadog.AuthnMappingArgs{\n\t\t\tKey: pulumi.String(\"Member-of\"),\n\t\t\tValue: pulumi.String(\"Development\"),\n\t\t\tRole: pulumi.String(roRole.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.AuthnMapping;\nimport com.pulumi.datadog.AuthnMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source the role\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n // Create a new AuthN mapping\n var devRoRoleMapping = new AuthnMapping(\"devRoRoleMapping\", AuthnMappingArgs.builder()\n .key(\"Member-of\")\n .value(\"Development\")\n .role(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new AuthN mapping\n devRoRoleMapping:\n type: datadog:AuthnMapping\n name: dev_ro_role_mapping\n properties:\n key: Member-of\n value: Development\n role: ${roRole.id}\nvariables:\n # Source the role\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAuthN mappings can be imported using their ID, e.g.\n\n```sh\n$ pulumi import datadog:index/authnMapping:AuthnMapping dev_ro_mapping 000000-0000-0000-0000-000000000000\n```\n\n", "properties": { "key": { "type": "string", @@ -73839,7 +73839,7 @@ } }, "datadog:index/childOrganization:ChildOrganization": { - "description": "Provides a Datadog Child Organization resource. This can be used to create Datadog Child Organizations. To manage created organization use `datadog.OrganizationSettings`.\n\n## 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 Child Organization\nconst organization = new datadog.ChildOrganization(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Child Organization\norganization = datadog.ChildOrganization(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Child Organization\n var organization = new Datadog.ChildOrganization(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog Child Organization\n\t\t_, err := datadog.NewChildOrganization(ctx, \"organization\", \u0026datadog.ChildOrganizationArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ChildOrganization;\nimport com.pulumi.datadog.ChildOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog Child Organization\n var organization = new ChildOrganization(\"organization\", ChildOrganizationArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Child Organization\n organization:\n type: datadog:ChildOrganization\n properties:\n name: foo-organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Datadog Child Organization resource. This can be used to create Datadog Child Organizations. To manage created organization use `datadog.OrganizationSettings`.\n\n## 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 Child Organization\nconst organization = new datadog.ChildOrganization(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog Child Organization\norganization = datadog.ChildOrganization(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog Child Organization\n var organization = new Datadog.ChildOrganization(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog Child Organization\n\t\t_, err := datadog.NewChildOrganization(ctx, \"organization\", \u0026datadog.ChildOrganizationArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ChildOrganization;\nimport com.pulumi.datadog.ChildOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog Child Organization\n var organization = new ChildOrganization(\"organization\", ChildOrganizationArgs.builder()\n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog Child Organization\n organization:\n type: datadog:ChildOrganization\n properties:\n name: foo-organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "apiKeys": { "type": "array", @@ -73950,7 +73950,7 @@ } }, "datadog:index/cloudConfigurationRule:CloudConfigurationRule": { - "description": "Provides a Datadog Cloud Configuration Rule resource.\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\nconst myrule = new datadog.CloudConfigurationRule(\"myrule\", {\n name: \"My cloud configuration rule\",\n message: \"Rule has triggered\",\n enabled: true,\n policy: `package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n`,\n resourceType: \"aws_s3_bucket\",\n relatedResourceTypes: [],\n severity: \"high\",\n groupBies: [\"@resource\"],\n notifications: [\"@channel\"],\n tags: [\"some:tag\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmyrule = datadog.CloudConfigurationRule(\"myrule\",\n name=\"My cloud configuration rule\",\n message=\"Rule has triggered\",\n enabled=True,\n policy=\"\"\"package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n\"\"\",\n resource_type=\"aws_s3_bucket\",\n related_resource_types=[],\n severity=\"high\",\n group_bies=[\"@resource\"],\n notifications=[\"@channel\"],\n tags=[\"some:tag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myrule = new Datadog.CloudConfigurationRule(\"myrule\", new()\n {\n Name = \"My cloud configuration rule\",\n Message = \"Rule has triggered\",\n Enabled = true,\n Policy = @\"package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"\"skip\"\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"\"pass\"\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"\"fail\"\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n\",\n ResourceType = \"aws_s3_bucket\",\n RelatedResourceTypes = new[] {},\n Severity = \"high\",\n GroupBies = new[]\n {\n \"@resource\",\n },\n Notifications = new[]\n {\n \"@channel\",\n },\n Tags = new[]\n {\n \"some:tag\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewCloudConfigurationRule(ctx, \"myrule\", \u0026datadog.CloudConfigurationRuleArgs{\n\t\t\tName: pulumi.String(\"My cloud configuration rule\"),\n\t\t\tMessage: pulumi.String(\"Rule has triggered\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.String(`package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n`),\n\t\t\tResourceType: pulumi.String(\"aws_s3_bucket\"),\n\t\t\tRelatedResourceTypes: pulumi.StringArray{},\n\t\t\tSeverity: pulumi.String(\"high\"),\n\t\t\tGroupBies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"@resource\"),\n\t\t\t},\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"@channel\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"some:tag\"),\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.CloudConfigurationRule;\nimport com.pulumi.datadog.CloudConfigurationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myrule = new CloudConfigurationRule(\"myrule\", CloudConfigurationRuleArgs.builder() \n .name(\"My cloud configuration rule\")\n .message(\"Rule has triggered\")\n .enabled(true)\n .policy(\"\"\"\npackage datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n \"\"\")\n .resourceType(\"aws_s3_bucket\")\n .relatedResourceTypes()\n .severity(\"high\")\n .groupBies(\"@resource\")\n .notifications(\"@channel\")\n .tags(\"some:tag\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myrule:\n type: datadog:CloudConfigurationRule\n properties:\n name: My cloud configuration rule\n message: Rule has triggered\n enabled: true\n policy: |\n package datadog\n\n import data.datadog.output as dd_output\n\n import future.keywords.contains\n import future.keywords.if\n import future.keywords.in\n\n eval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n } else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n } else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n }\n\n # This part remains unchanged for all rules\n results contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n }\n resourceType: aws_s3_bucket\n relatedResourceTypes: []\n severity: high\n groupBies:\n - '@resource'\n notifications:\n - '@channel'\n tags:\n - some:tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring rules can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/cloudConfigurationRule:CloudConfigurationRule my_rule m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog Cloud Configuration Rule resource.\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\nconst myrule = new datadog.CloudConfigurationRule(\"myrule\", {\n name: \"My cloud configuration rule\",\n message: \"Rule has triggered\",\n enabled: true,\n policy: `package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n`,\n resourceType: \"aws_s3_bucket\",\n relatedResourceTypes: [],\n severity: \"high\",\n groupBies: [\"@resource\"],\n notifications: [\"@channel\"],\n tags: [\"some:tag\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmyrule = datadog.CloudConfigurationRule(\"myrule\",\n name=\"My cloud configuration rule\",\n message=\"Rule has triggered\",\n enabled=True,\n policy=\"\"\"package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n\"\"\",\n resource_type=\"aws_s3_bucket\",\n related_resource_types=[],\n severity=\"high\",\n group_bies=[\"@resource\"],\n notifications=[\"@channel\"],\n tags=[\"some:tag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myrule = new Datadog.CloudConfigurationRule(\"myrule\", new()\n {\n Name = \"My cloud configuration rule\",\n Message = \"Rule has triggered\",\n Enabled = true,\n Policy = @\"package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"\"skip\"\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"\"pass\"\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"\"fail\"\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n\",\n ResourceType = \"aws_s3_bucket\",\n RelatedResourceTypes = new[] {},\n Severity = \"high\",\n GroupBies = new[]\n {\n \"@resource\",\n },\n Notifications = new[]\n {\n \"@channel\",\n },\n Tags = new[]\n {\n \"some:tag\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewCloudConfigurationRule(ctx, \"myrule\", \u0026datadog.CloudConfigurationRuleArgs{\n\t\t\tName: pulumi.String(\"My cloud configuration rule\"),\n\t\t\tMessage: pulumi.String(\"Rule has triggered\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPolicy: pulumi.String(`package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n`),\n\t\t\tResourceType: pulumi.String(\"aws_s3_bucket\"),\n\t\t\tRelatedResourceTypes: pulumi.StringArray{},\n\t\t\tSeverity: pulumi.String(\"high\"),\n\t\t\tGroupBies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"@resource\"),\n\t\t\t},\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"@channel\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"some:tag\"),\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.CloudConfigurationRule;\nimport com.pulumi.datadog.CloudConfigurationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myrule = new CloudConfigurationRule(\"myrule\", CloudConfigurationRuleArgs.builder()\n .name(\"My cloud configuration rule\")\n .message(\"Rule has triggered\")\n .enabled(true)\n .policy(\"\"\"\npackage datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\neval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n} else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n} else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n}\n\n# This part remains unchanged for all rules\nresults contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n}\n \"\"\")\n .resourceType(\"aws_s3_bucket\")\n .relatedResourceTypes()\n .severity(\"high\")\n .groupBies(\"@resource\")\n .notifications(\"@channel\")\n .tags(\"some:tag\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myrule:\n type: datadog:CloudConfigurationRule\n properties:\n name: My cloud configuration rule\n message: Rule has triggered\n enabled: true\n policy: |\n package datadog\n\n import data.datadog.output as dd_output\n\n import future.keywords.contains\n import future.keywords.if\n import future.keywords.in\n\n eval(resource) = \"skip\" if {\n # Logic that evaluates to true if the resource should be skipped\n true\n } else = \"pass\" {\n # Logic that evaluates to true if the resource is compliant\n true\n } else = \"fail\" {\n # Logic that evaluates to true if the resource is not compliant\n true\n }\n\n # This part remains unchanged for all rules\n results contains result if {\n some resource in input.resources[input.main_resource_type]\n result := dd_output.format(resource, eval(resource))\n }\n resourceType: aws_s3_bucket\n relatedResourceTypes: []\n severity: high\n groupBies:\n - '@resource'\n notifications:\n - '@channel'\n tags:\n - some:tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring rules can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/cloudConfigurationRule:CloudConfigurationRule my_rule m0o-hto-lkb\n```\n\n", "properties": { "enabled": { "type": "boolean", @@ -74156,7 +74156,7 @@ } }, "datadog:index/cloudWorkloadSecurityAgentRule:CloudWorkloadSecurityAgentRule": { - "description": "Provides a Datadog Cloud Workload Security Agent Rule API resource for agent rules.\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\nconst myAgentRule = new datadog.CloudWorkloadSecurityAgentRule(\"my_agent_rule\", {\n name: \"my_agent_rule\",\n description: \"My agent rule\",\n enabled: true,\n expression: \"exec.file.name == \\\"java\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_agent_rule = datadog.CloudWorkloadSecurityAgentRule(\"my_agent_rule\",\n name=\"my_agent_rule\",\n description=\"My agent rule\",\n enabled=True,\n expression=\"exec.file.name == \\\"java\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myAgentRule = new Datadog.CloudWorkloadSecurityAgentRule(\"my_agent_rule\", new()\n {\n Name = \"my_agent_rule\",\n Description = \"My agent rule\",\n Enabled = true,\n Expression = \"exec.file.name == \\\"java\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewCloudWorkloadSecurityAgentRule(ctx, \"my_agent_rule\", \u0026datadog.CloudWorkloadSecurityAgentRuleArgs{\n\t\t\tName: pulumi.String(\"my_agent_rule\"),\n\t\t\tDescription: pulumi.String(\"My agent rule\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tExpression: pulumi.String(\"exec.file.name == \\\"java\\\"\"),\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.CloudWorkloadSecurityAgentRule;\nimport com.pulumi.datadog.CloudWorkloadSecurityAgentRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myAgentRule = new CloudWorkloadSecurityAgentRule(\"myAgentRule\", CloudWorkloadSecurityAgentRuleArgs.builder() \n .name(\"my_agent_rule\")\n .description(\"My agent rule\")\n .enabled(true)\n .expression(\"exec.file.name == \\\"java\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myAgentRule:\n type: datadog:CloudWorkloadSecurityAgentRule\n name: my_agent_rule\n properties:\n name: my_agent_rule\n description: My agent rule\n enabled: true\n expression: exec.file.name == \"java\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Workload Security Agent rules can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/cloudWorkloadSecurityAgentRule:CloudWorkloadSecurityAgentRule my_agent_rule m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog Cloud Workload Security Agent Rule API resource for agent rules.\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\nconst myAgentRule = new datadog.CloudWorkloadSecurityAgentRule(\"my_agent_rule\", {\n name: \"my_agent_rule\",\n description: \"My agent rule\",\n enabled: true,\n expression: \"exec.file.name == \\\"java\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_agent_rule = datadog.CloudWorkloadSecurityAgentRule(\"my_agent_rule\",\n name=\"my_agent_rule\",\n description=\"My agent rule\",\n enabled=True,\n expression=\"exec.file.name == \\\"java\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myAgentRule = new Datadog.CloudWorkloadSecurityAgentRule(\"my_agent_rule\", new()\n {\n Name = \"my_agent_rule\",\n Description = \"My agent rule\",\n Enabled = true,\n Expression = \"exec.file.name == \\\"java\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewCloudWorkloadSecurityAgentRule(ctx, \"my_agent_rule\", \u0026datadog.CloudWorkloadSecurityAgentRuleArgs{\n\t\t\tName: pulumi.String(\"my_agent_rule\"),\n\t\t\tDescription: pulumi.String(\"My agent rule\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tExpression: pulumi.String(\"exec.file.name == \\\"java\\\"\"),\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.CloudWorkloadSecurityAgentRule;\nimport com.pulumi.datadog.CloudWorkloadSecurityAgentRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myAgentRule = new CloudWorkloadSecurityAgentRule(\"myAgentRule\", CloudWorkloadSecurityAgentRuleArgs.builder()\n .name(\"my_agent_rule\")\n .description(\"My agent rule\")\n .enabled(true)\n .expression(\"exec.file.name == \\\"java\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myAgentRule:\n type: datadog:CloudWorkloadSecurityAgentRule\n name: my_agent_rule\n properties:\n name: my_agent_rule\n description: My agent rule\n enabled: true\n expression: exec.file.name == \"java\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Workload Security Agent rules can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/cloudWorkloadSecurityAgentRule:CloudWorkloadSecurityAgentRule my_agent_rule m0o-hto-lkb\n```\n\n", "properties": { "description": { "type": "string", @@ -74227,7 +74227,7 @@ } }, "datadog:index/csmThreatsAgentRule:CsmThreatsAgentRule": { - "description": "Provides a Datadog CSM Threats Agent Rule API resource.\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\nconst myAgentRule = new datadog.CsmThreatsAgentRule(\"my_agent_rule\", {\n name: \"my_agent_rule\",\n enabled: true,\n description: \"im a rule\",\n expression: \"open.file.name == \\\"etc/shadow/password\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_agent_rule = datadog.CsmThreatsAgentRule(\"my_agent_rule\",\n name=\"my_agent_rule\",\n enabled=True,\n description=\"im a rule\",\n expression=\"open.file.name == \\\"etc/shadow/password\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myAgentRule = new Datadog.CsmThreatsAgentRule(\"my_agent_rule\", new()\n {\n Name = \"my_agent_rule\",\n Enabled = true,\n Description = \"im a rule\",\n Expression = \"open.file.name == \\\"etc/shadow/password\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewCsmThreatsAgentRule(ctx, \"my_agent_rule\", \u0026datadog.CsmThreatsAgentRuleArgs{\n\t\t\tName: pulumi.String(\"my_agent_rule\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"im a rule\"),\n\t\t\tExpression: pulumi.String(\"open.file.name == \\\"etc/shadow/password\\\"\"),\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.CsmThreatsAgentRule;\nimport com.pulumi.datadog.CsmThreatsAgentRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myAgentRule = new CsmThreatsAgentRule(\"myAgentRule\", CsmThreatsAgentRuleArgs.builder() \n .name(\"my_agent_rule\")\n .enabled(true)\n .description(\"im a rule\")\n .expression(\"open.file.name == \\\"etc/shadow/password\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myAgentRule:\n type: datadog:CsmThreatsAgentRule\n name: my_agent_rule\n properties:\n name: my_agent_rule\n enabled: true\n description: im a rule\n expression: open.file.name == \"etc/shadow/password\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCSM Agent Rules can be imported using ID. For example:\n\n```sh\n$ pulumi import datadog:index/csmThreatsAgentRule:CsmThreatsAgentRule my_agent_rule m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog CSM Threats Agent Rule API resource.\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\nconst myAgentRule = new datadog.CsmThreatsAgentRule(\"my_agent_rule\", {\n name: \"my_agent_rule\",\n enabled: true,\n description: \"im a rule\",\n expression: \"open.file.name == \\\"etc/shadow/password\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_agent_rule = datadog.CsmThreatsAgentRule(\"my_agent_rule\",\n name=\"my_agent_rule\",\n enabled=True,\n description=\"im a rule\",\n expression=\"open.file.name == \\\"etc/shadow/password\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myAgentRule = new Datadog.CsmThreatsAgentRule(\"my_agent_rule\", new()\n {\n Name = \"my_agent_rule\",\n Enabled = true,\n Description = \"im a rule\",\n Expression = \"open.file.name == \\\"etc/shadow/password\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewCsmThreatsAgentRule(ctx, \"my_agent_rule\", \u0026datadog.CsmThreatsAgentRuleArgs{\n\t\t\tName: pulumi.String(\"my_agent_rule\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"im a rule\"),\n\t\t\tExpression: pulumi.String(\"open.file.name == \\\"etc/shadow/password\\\"\"),\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.CsmThreatsAgentRule;\nimport com.pulumi.datadog.CsmThreatsAgentRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myAgentRule = new CsmThreatsAgentRule(\"myAgentRule\", CsmThreatsAgentRuleArgs.builder()\n .name(\"my_agent_rule\")\n .enabled(true)\n .description(\"im a rule\")\n .expression(\"open.file.name == \\\"etc/shadow/password\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myAgentRule:\n type: datadog:CsmThreatsAgentRule\n name: my_agent_rule\n properties:\n name: my_agent_rule\n enabled: true\n description: im a rule\n expression: open.file.name == \"etc/shadow/password\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCSM Agent Rules can be imported using ID. For example:\n\n```sh\n$ pulumi import datadog:index/csmThreatsAgentRule:CsmThreatsAgentRule my_agent_rule m0o-hto-lkb\n```\n\n", "properties": { "description": { "type": "string", @@ -74299,7 +74299,7 @@ } }, "datadog:index/dashboard:Dashboard": { - "description": "Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards.\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 Ordered Layout\nconst orderedDashboard = new datadog.Dashboard(\"ordered_dashboard\", {\n title: \"Ordered Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"ordered\",\n widgets: [\n {\n alertGraphDefinition: {\n alertId: \"895605\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n alertValueDefinition: {\n alertId: \"895605\",\n precision: 3,\n unit: \"b\",\n textAlign: \"center\",\n title: \"Widget Title\",\n },\n },\n {\n alertValueDefinition: {\n alertId: \"895605\",\n precision: 3,\n unit: \"b\",\n textAlign: \"center\",\n title: \"Widget Title\",\n },\n },\n {\n changeDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n changeType: \"absolute\",\n compareTo: \"week_before\",\n increaseGood: true,\n orderBy: \"name\",\n orderDir: \"desc\",\n showPresent: true,\n }],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n distributionDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n style: {\n palette: \"warm\",\n },\n }],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n checkStatusDefinition: {\n check: \"aws.ecs.agent_connected\",\n grouping: \"cluster\",\n groupBies: [\n \"account\",\n \"cluster\",\n ],\n tags: [\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\",\n ],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n heatmapDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n style: {\n palette: \"warm\",\n },\n }],\n yaxis: {\n min: \"1\",\n max: \"2\",\n includeZero: true,\n scale: \"sqrt\",\n },\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n hostmapDefinition: {\n request: {\n fills: [{\n q: \"avg:system.load.1{*} by {host}\",\n }],\n sizes: [{\n q: \"avg:memcache.uptime{*} by {host}\",\n }],\n },\n nodeType: \"container\",\n groups: [\n \"host\",\n \"region\",\n ],\n noGroupHosts: true,\n noMetricHosts: true,\n scopes: [\n \"region:us-east-1\",\n \"aws_account:727006795293\",\n ],\n style: {\n palette: \"yellow_to_green\",\n paletteFlip: true,\n fillMin: \"10\",\n fillMax: \"20\",\n },\n title: \"Widget Title\",\n },\n },\n {\n noteDefinition: {\n content: \"note text\",\n backgroundColor: \"pink\",\n fontSize: \"14\",\n textAlign: \"center\",\n showTick: true,\n tickEdge: \"left\",\n tickPos: \"50%\",\n },\n },\n {\n queryValueDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n aggregator: \"sum\",\n conditionalFormats: [\n {\n comparator: \"\u003c\",\n value: 2,\n palette: \"white_on_green\",\n },\n {\n comparator: \"\u003e\",\n value: 2.2,\n palette: \"white_on_red\",\n },\n ],\n }],\n autoscale: true,\n customUnit: \"xx\",\n precision: 4,\n textAlign: \"right\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n queryTableDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n aggregator: \"sum\",\n limit: 10,\n conditionalFormats: [\n {\n comparator: \"\u003c\",\n value: 2,\n palette: \"white_on_green\",\n },\n {\n comparator: \"\u003e\",\n value: 2.2,\n palette: \"white_on_red\",\n },\n ],\n }],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n scatterplotDefinition: {\n request: {\n xes: [{\n q: \"avg:system.cpu.user{*} by {service, account}\",\n aggregator: \"max\",\n }],\n ys: [{\n q: \"avg:system.mem.used{*} by {service, account}\",\n aggregator: \"min\",\n }],\n },\n colorByGroups: [\n \"account\",\n \"apm-role-group\",\n ],\n xaxis: {\n includeZero: true,\n label: \"x\",\n min: \"1\",\n max: \"2000\",\n scale: \"pow\",\n },\n yaxis: {\n includeZero: false,\n label: \"y\",\n min: \"5\",\n max: \"2222\",\n scale: \"log\",\n },\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n servicemapDefinition: {\n service: \"master-db\",\n filters: [\n \"env:prod\",\n \"datacenter:dc1\",\n ],\n title: \"env: prod, datacenter:dc1, service: master-db\",\n titleSize: \"16\",\n titleAlign: \"left\",\n },\n },\n {\n timeseriesDefinition: {\n requests: [\n {\n q: \"avg:system.cpu.user{app:general} by {env}\",\n displayType: \"line\",\n style: {\n palette: \"warm\",\n lineType: \"dashed\",\n lineWidth: \"thin\",\n },\n metadatas: [{\n expression: \"avg:system.cpu.user{app:general} by {env}\",\n aliasName: \"Alpha\",\n }],\n },\n {\n logQuery: {\n index: \"mcnulty\",\n computeQuery: {\n aggregation: \"avg\",\n facet: \"@duration\",\n interval: 5000,\n },\n searchQuery: \"status:info\",\n groupBies: [{\n facet: \"host\",\n limit: 10,\n sortQuery: {\n aggregation: \"avg\",\n order: \"desc\",\n facet: \"@duration\",\n },\n }],\n },\n displayType: \"area\",\n },\n {\n apmQuery: {\n index: \"apm-search\",\n computeQuery: {\n aggregation: \"avg\",\n facet: \"@duration\",\n interval: 5000,\n },\n searchQuery: \"type:web\",\n groupBies: [{\n facet: \"resource_name\",\n limit: 50,\n sortQuery: {\n aggregation: \"avg\",\n order: \"desc\",\n facet: \"@string_query.interval\",\n },\n }],\n },\n displayType: \"bars\",\n },\n {\n processQuery: {\n metric: \"process.stat.cpu.total_pct\",\n searchBy: \"error\",\n filterBies: [\"active\"],\n limit: 50,\n },\n displayType: \"area\",\n },\n ],\n markers: [\n {\n displayType: \"error dashed\",\n label: \" z=6 \",\n value: \"y = 4\",\n },\n {\n displayType: \"ok solid\",\n value: \"10 \u003c y \u003c 999\",\n label: \" x=8 \",\n },\n ],\n title: \"Widget Title\",\n showLegend: true,\n legendSize: \"2\",\n liveSpan: \"1h\",\n events: [\n {\n q: \"sources:test tags:1\",\n },\n {\n q: \"sources:test tags:2\",\n },\n ],\n yaxis: {\n scale: \"log\",\n includeZero: false,\n max: \"100\",\n },\n },\n },\n {\n toplistDefinition: {\n requests: [{\n q: \"avg:system.cpu.user{app:general} by {env}\",\n conditionalFormats: [\n {\n comparator: \"\u003c\",\n value: 2,\n palette: \"white_on_green\",\n },\n {\n comparator: \"\u003e\",\n value: 2.2,\n palette: \"white_on_red\",\n },\n ],\n }],\n title: \"Widget Title\",\n },\n },\n {\n groupDefinition: {\n layoutType: \"ordered\",\n title: \"Group Widget\",\n widgets: [\n {\n noteDefinition: {\n content: \"cluster note widget\",\n backgroundColor: \"pink\",\n fontSize: \"14\",\n textAlign: \"center\",\n showTick: true,\n tickEdge: \"left\",\n tickPos: \"50%\",\n },\n },\n {\n alertGraphDefinition: {\n alertId: \"123\",\n vizType: \"toplist\",\n title: \"Alert Graph\",\n liveSpan: \"1h\",\n },\n },\n ],\n },\n },\n {\n serviceLevelObjectiveDefinition: {\n title: \"Widget Title\",\n viewType: \"detail\",\n sloId: \"56789\",\n showErrorBudget: true,\n viewMode: \"overall\",\n timeWindows: [\n \"7d\",\n \"previous_week\",\n ],\n },\n },\n ],\n templateVariables: [\n {\n name: \"var_1\",\n prefix: \"host\",\n \"default\": \"aws\",\n },\n {\n name: \"var_2\",\n prefix: \"service_name\",\n \"default\": \"autoscaling\",\n },\n ],\n templateVariablePresets: [{\n name: \"preset_1\",\n templateVariables: [\n {\n name: \"var_1\",\n value: \"host.dc\",\n },\n {\n name: \"var_2\",\n value: \"my_service\",\n },\n ],\n }],\n});\n// Example Free Layout\nconst freeDashboard = new datadog.Dashboard(\"free_dashboard\", {\n title: \"Free Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"free\",\n widgets: [\n {\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 43,\n width: 32,\n x: 0,\n y: 0,\n },\n },\n {\n eventTimelineDefinition: {\n query: \"*\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 9,\n width: 66,\n x: 33,\n y: 60,\n },\n },\n {\n freeTextDefinition: {\n text: \"free text content\",\n color: \"#d00\",\n fontSize: \"36\",\n textAlign: \"left\",\n },\n widgetLayout: {\n height: 20,\n width: 34,\n x: 33,\n y: 0,\n },\n },\n {\n iframeDefinition: {\n url: \"http://google.com\",\n },\n widgetLayout: {\n height: 46,\n width: 39,\n x: 101,\n y: 0,\n },\n },\n {\n imageDefinition: {\n url: \"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\",\n sizing: \"fit\",\n margin: \"small\",\n },\n widgetLayout: {\n height: 20,\n width: 30,\n x: 69,\n y: 0,\n },\n },\n {\n logStreamDefinition: {\n indexes: [\"main\"],\n query: \"error\",\n columns: [\n \"core_host\",\n \"core_service\",\n \"tag_source\",\n ],\n showDateColumn: true,\n showMessageColumn: true,\n messageDisplay: \"expanded-md\",\n sort: {\n column: \"time\",\n order: \"desc\",\n },\n },\n widgetLayout: {\n height: 36,\n width: 32,\n x: 0,\n y: 45,\n },\n },\n {\n manageStatusDefinition: {\n colorPreference: \"text\",\n displayFormat: \"countsAndList\",\n hideZeroCounts: true,\n query: \"type:metric\",\n showLastTriggered: false,\n sort: \"status,asc\",\n summaryType: \"monitors\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n },\n widgetLayout: {\n height: 40,\n width: 30,\n x: 101,\n y: 48,\n },\n },\n {\n traceServiceDefinition: {\n displayFormat: \"three_column\",\n env: \"datadog.com\",\n service: \"alerting-cassandra\",\n showBreakdown: true,\n showDistribution: true,\n showErrors: true,\n showHits: true,\n showLatency: false,\n showResourceList: false,\n sizeFormat: \"large\",\n spanName: \"cassandra.query\",\n title: \"alerting-cassandra #env:datadog.com\",\n titleAlign: \"center\",\n titleSize: \"13\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 38,\n width: 66,\n x: 33,\n y: 21,\n },\n },\n {\n timeseriesDefinition: {\n requests: [{\n formulas: [\n {\n formulaExpression: \"my_query_1 + my_query_2\",\n alias: \"my ff query\",\n },\n {\n formulaExpression: \"my_query_1 * my_query_2\",\n limit: {\n count: 5,\n order: \"desc\",\n },\n alias: \"my second ff query\",\n },\n ],\n queries: [\n {\n metricQuery: {\n dataSource: \"metrics\",\n query: \"avg:system.cpu.user{app:general} by {env}\",\n name: \"my_query_1\",\n aggregator: \"sum\",\n },\n },\n {\n metricQuery: {\n query: \"avg:system.cpu.user{app:general} by {env}\",\n name: \"my_query_2\",\n aggregator: \"sum\",\n },\n },\n ],\n }],\n },\n widgetLayout: {\n height: 16,\n width: 25,\n x: 58,\n y: 83,\n },\n },\n {\n timeseriesDefinition: {\n requests: [\n {\n queries: [{\n eventQuery: {\n name: \"my-query\",\n dataSource: \"logs\",\n indexes: [\"days-3\"],\n computes: [{\n aggregation: \"count\",\n }],\n groupBies: [{\n facet: \"host\",\n sort: {\n metric: \"@lambda.max_memory_used\",\n aggregation: \"avg\",\n },\n limit: 10,\n }],\n },\n }],\n },\n {\n displayType: \"overlay\",\n queries: [{\n metricQuery: {\n name: \"MyOverlay\",\n dataSource: \"metrics\",\n query: \"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\",\n },\n }],\n },\n ],\n },\n widgetLayout: {\n height: 16,\n width: 28,\n x: 29,\n y: 83,\n },\n },\n {\n timeseriesDefinition: {\n requests: [{\n queries: [{\n processQuery: {\n dataSource: \"process\",\n textFilter: \"abc\",\n metric: \"process.stat.cpu.total_pct\",\n limit: 10,\n tagFilters: [\"some_filter\"],\n name: \"my_process_query\",\n sort: \"asc\",\n isNormalizedCpu: true,\n aggregator: \"sum\",\n },\n }],\n }],\n },\n widgetLayout: {\n height: 16,\n width: 28,\n x: 0,\n y: 83,\n },\n },\n {\n timeseriesDefinition: {\n requests: [{\n formulas: [{\n formulaExpression: \"query1\",\n alias: \"my cloud cost query\",\n }],\n queries: [{\n cloudCostQuery: {\n dataSource: \"cloud_cost\",\n query: \"sum:aws.cost.amortized{*}\",\n name: \"query1\",\n aggregator: \"sum\",\n },\n }],\n }],\n },\n },\n {\n powerpackDefinition: {\n powerpackId: \"00000000-0000-0000-0000-000000000000\",\n backgroundColor: \"blue\",\n bannerImg: \"https://example.org/example.png\",\n showTitle: true,\n title: \"Powerpack Widget\",\n templateVariables: {\n controlledExternallies: [{\n name: \"var_2\",\n values: [\"autoscaling\"],\n prefix: \"service_name\",\n }],\n controlledByPowerpacks: [{\n name: \"var_3\",\n prefix: \"timeframe\",\n values: [\n \"default\",\n \"values\",\n \"here\",\n ],\n }],\n },\n },\n },\n ],\n templateVariables: [\n {\n name: \"var_1\",\n prefix: \"host\",\n \"default\": \"aws\",\n },\n {\n name: \"var_2\",\n prefix: \"service_name\",\n \"default\": \"autoscaling\",\n },\n ],\n templateVariablePresets: [{\n name: \"preset_1\",\n templateVariables: [\n {\n name: \"var_1\",\n value: \"host.dc\",\n },\n {\n name: \"var_2\",\n value: \"my_service\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Ordered Layout\nordered_dashboard = datadog.Dashboard(\"ordered_dashboard\",\n title=\"Ordered Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"ordered\",\n widgets=[\n datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"895605\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n alert_value_definition=datadog.DashboardWidgetAlertValueDefinitionArgs(\n alert_id=\"895605\",\n precision=3,\n unit=\"b\",\n text_align=\"center\",\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n alert_value_definition=datadog.DashboardWidgetAlertValueDefinitionArgs(\n alert_id=\"895605\",\n precision=3,\n unit=\"b\",\n text_align=\"center\",\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n change_definition=datadog.DashboardWidgetChangeDefinitionArgs(\n requests=[datadog.DashboardWidgetChangeDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n change_type=\"absolute\",\n compare_to=\"week_before\",\n increase_good=True,\n order_by=\"name\",\n order_dir=\"desc\",\n show_present=True,\n )],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n distribution_definition=datadog.DashboardWidgetDistributionDefinitionArgs(\n requests=[datadog.DashboardWidgetDistributionDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n style=datadog.DashboardWidgetDistributionDefinitionRequestStyleArgs(\n palette=\"warm\",\n ),\n )],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n check_status_definition=datadog.DashboardWidgetCheckStatusDefinitionArgs(\n check=\"aws.ecs.agent_connected\",\n grouping=\"cluster\",\n group_bies=[\n \"account\",\n \"cluster\",\n ],\n tags=[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\",\n ],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n heatmap_definition=datadog.DashboardWidgetHeatmapDefinitionArgs(\n requests=[datadog.DashboardWidgetHeatmapDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n style=datadog.DashboardWidgetHeatmapDefinitionRequestStyleArgs(\n palette=\"warm\",\n ),\n )],\n yaxis=datadog.DashboardWidgetHeatmapDefinitionYaxisArgs(\n min=\"1\",\n max=\"2\",\n include_zero=True,\n scale=\"sqrt\",\n ),\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n hostmap_definition=datadog.DashboardWidgetHostmapDefinitionArgs(\n request=datadog.DashboardWidgetHostmapDefinitionRequestArgs(\n fills=[datadog.DashboardWidgetHostmapDefinitionRequestFillArgs(\n q=\"avg:system.load.1{*} by {host}\",\n )],\n sizes=[datadog.DashboardWidgetHostmapDefinitionRequestSizeArgs(\n q=\"avg:memcache.uptime{*} by {host}\",\n )],\n ),\n node_type=\"container\",\n groups=[\n \"host\",\n \"region\",\n ],\n no_group_hosts=True,\n no_metric_hosts=True,\n scopes=[\n \"region:us-east-1\",\n \"aws_account:727006795293\",\n ],\n style=datadog.DashboardWidgetHostmapDefinitionStyleArgs(\n palette=\"yellow_to_green\",\n palette_flip=True,\n fill_min=\"10\",\n fill_max=\"20\",\n ),\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n note_definition=datadog.DashboardWidgetNoteDefinitionArgs(\n content=\"note text\",\n background_color=\"pink\",\n font_size=\"14\",\n text_align=\"center\",\n show_tick=True,\n tick_edge=\"left\",\n tick_pos=\"50%\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n query_value_definition=datadog.DashboardWidgetQueryValueDefinitionArgs(\n requests=[datadog.DashboardWidgetQueryValueDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n aggregator=\"sum\",\n conditional_formats=[\n datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003c\",\n value=2,\n palette=\"white_on_green\",\n ),\n datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003e\",\n value=2.2,\n palette=\"white_on_red\",\n ),\n ],\n )],\n autoscale=True,\n custom_unit=\"xx\",\n precision=4,\n text_align=\"right\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n query_table_definition=datadog.DashboardWidgetQueryTableDefinitionArgs(\n requests=[datadog.DashboardWidgetQueryTableDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n aggregator=\"sum\",\n limit=10,\n conditional_formats=[\n datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003c\",\n value=2,\n palette=\"white_on_green\",\n ),\n datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003e\",\n value=2.2,\n palette=\"white_on_red\",\n ),\n ],\n )],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n scatterplot_definition=datadog.DashboardWidgetScatterplotDefinitionArgs(\n request=datadog.DashboardWidgetScatterplotDefinitionRequestArgs(\n xes=[datadog.DashboardWidgetScatterplotDefinitionRequestXArgs(\n q=\"avg:system.cpu.user{*} by {service, account}\",\n aggregator=\"max\",\n )],\n ys=[datadog.DashboardWidgetScatterplotDefinitionRequestYArgs(\n q=\"avg:system.mem.used{*} by {service, account}\",\n aggregator=\"min\",\n )],\n ),\n color_by_groups=[\n \"account\",\n \"apm-role-group\",\n ],\n xaxis=datadog.DashboardWidgetScatterplotDefinitionXaxisArgs(\n include_zero=True,\n label=\"x\",\n min=\"1\",\n max=\"2000\",\n scale=\"pow\",\n ),\n yaxis=datadog.DashboardWidgetScatterplotDefinitionYaxisArgs(\n include_zero=False,\n label=\"y\",\n min=\"5\",\n max=\"2222\",\n scale=\"log\",\n ),\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n servicemap_definition=datadog.DashboardWidgetServicemapDefinitionArgs(\n service=\"master-db\",\n filters=[\n \"env:prod\",\n \"datacenter:dc1\",\n ],\n title=\"env: prod, datacenter:dc1, service: master-db\",\n title_size=\"16\",\n title_align=\"left\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n q=\"avg:system.cpu.user{app:general} by {env}\",\n display_type=\"line\",\n style=datadog.DashboardWidgetTimeseriesDefinitionRequestStyleArgs(\n palette=\"warm\",\n line_type=\"dashed\",\n line_width=\"thin\",\n ),\n metadatas=[datadog.DashboardWidgetTimeseriesDefinitionRequestMetadataArgs(\n expression=\"avg:system.cpu.user{app:general} by {env}\",\n alias_name=\"Alpha\",\n )],\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n log_query=datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs(\n index=\"mcnulty\",\n compute_query=datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs(\n aggregation=\"avg\",\n facet=\"@duration\",\n interval=5000,\n ),\n search_query=\"status:info\",\n group_bies=[datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs(\n facet=\"host\",\n limit=10,\n sort_query=datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs(\n aggregation=\"avg\",\n order=\"desc\",\n facet=\"@duration\",\n ),\n )],\n ),\n display_type=\"area\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n apm_query=datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs(\n index=\"apm-search\",\n compute_query=datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs(\n aggregation=\"avg\",\n facet=\"@duration\",\n interval=5000,\n ),\n search_query=\"type:web\",\n group_bies=[datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs(\n facet=\"resource_name\",\n limit=50,\n sort_query=datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs(\n aggregation=\"avg\",\n order=\"desc\",\n facet=\"@string_query.interval\",\n ),\n )],\n ),\n display_type=\"bars\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n process_query=datadog.DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs(\n metric=\"process.stat.cpu.total_pct\",\n search_by=\"error\",\n filter_bies=[\"active\"],\n limit=50,\n ),\n display_type=\"area\",\n ),\n ],\n markers=[\n datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs(\n display_type=\"error dashed\",\n label=\" z=6 \",\n value=\"y = 4\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs(\n display_type=\"ok solid\",\n value=\"10 \u003c y \u003c 999\",\n label=\" x=8 \",\n ),\n ],\n title=\"Widget Title\",\n show_legend=True,\n legend_size=\"2\",\n live_span=\"1h\",\n events=[\n datadog.DashboardWidgetTimeseriesDefinitionEventArgs(\n q=\"sources:test tags:1\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionEventArgs(\n q=\"sources:test tags:2\",\n ),\n ],\n yaxis=datadog.DashboardWidgetTimeseriesDefinitionYaxisArgs(\n scale=\"log\",\n include_zero=False,\n max=\"100\",\n ),\n ),\n ),\n datadog.DashboardWidgetArgs(\n toplist_definition=datadog.DashboardWidgetToplistDefinitionArgs(\n requests=[datadog.DashboardWidgetToplistDefinitionRequestArgs(\n q=\"avg:system.cpu.user{app:general} by {env}\",\n conditional_formats=[\n datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003c\",\n value=2,\n palette=\"white_on_green\",\n ),\n datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003e\",\n value=2.2,\n palette=\"white_on_red\",\n ),\n ],\n )],\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n group_definition=datadog.DashboardWidgetGroupDefinitionArgs(\n layout_type=\"ordered\",\n title=\"Group Widget\",\n widgets=[\n datadog.DashboardWidgetGroupDefinitionWidgetArgs(\n note_definition=datadog.DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs(\n content=\"cluster note widget\",\n background_color=\"pink\",\n font_size=\"14\",\n text_align=\"center\",\n show_tick=True,\n tick_edge=\"left\",\n tick_pos=\"50%\",\n ),\n ),\n datadog.DashboardWidgetGroupDefinitionWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs(\n alert_id=\"123\",\n viz_type=\"toplist\",\n title=\"Alert Graph\",\n live_span=\"1h\",\n ),\n ),\n ],\n ),\n ),\n datadog.DashboardWidgetArgs(\n service_level_objective_definition=datadog.DashboardWidgetServiceLevelObjectiveDefinitionArgs(\n title=\"Widget Title\",\n view_type=\"detail\",\n slo_id=\"56789\",\n show_error_budget=True,\n view_mode=\"overall\",\n time_windows=[\n \"7d\",\n \"previous_week\",\n ],\n ),\n ),\n ],\n template_variables=[\n datadog.DashboardTemplateVariableArgs(\n name=\"var_1\",\n prefix=\"host\",\n default=\"aws\",\n ),\n datadog.DashboardTemplateVariableArgs(\n name=\"var_2\",\n prefix=\"service_name\",\n default=\"autoscaling\",\n ),\n ],\n template_variable_presets=[datadog.DashboardTemplateVariablePresetArgs(\n name=\"preset_1\",\n template_variables=[\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_1\",\n value=\"host.dc\",\n ),\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_2\",\n value=\"my_service\",\n ),\n ],\n )])\n# Example Free Layout\nfree_dashboard = datadog.Dashboard(\"free_dashboard\",\n title=\"Free Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"free\",\n widgets=[\n datadog.DashboardWidgetArgs(\n event_stream_definition=datadog.DashboardWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=43,\n width=32,\n x=0,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n event_timeline_definition=datadog.DashboardWidgetEventTimelineDefinitionArgs(\n query=\"*\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=9,\n width=66,\n x=33,\n y=60,\n ),\n ),\n datadog.DashboardWidgetArgs(\n free_text_definition=datadog.DashboardWidgetFreeTextDefinitionArgs(\n text=\"free text content\",\n color=\"#d00\",\n font_size=\"36\",\n text_align=\"left\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=20,\n width=34,\n x=33,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n iframe_definition=datadog.DashboardWidgetIframeDefinitionArgs(\n url=\"http://google.com\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=46,\n width=39,\n x=101,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n image_definition=datadog.DashboardWidgetImageDefinitionArgs(\n url=\"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\",\n sizing=\"fit\",\n margin=\"small\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=20,\n width=30,\n x=69,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n log_stream_definition=datadog.DashboardWidgetLogStreamDefinitionArgs(\n indexes=[\"main\"],\n query=\"error\",\n columns=[\n \"core_host\",\n \"core_service\",\n \"tag_source\",\n ],\n show_date_column=True,\n show_message_column=True,\n message_display=\"expanded-md\",\n sort=datadog.DashboardWidgetLogStreamDefinitionSortArgs(\n column=\"time\",\n order=\"desc\",\n ),\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=36,\n width=32,\n x=0,\n y=45,\n ),\n ),\n datadog.DashboardWidgetArgs(\n manage_status_definition=datadog.DashboardWidgetManageStatusDefinitionArgs(\n color_preference=\"text\",\n display_format=\"countsAndList\",\n hide_zero_counts=True,\n query=\"type:metric\",\n show_last_triggered=False,\n sort=\"status,asc\",\n summary_type=\"monitors\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=40,\n width=30,\n x=101,\n y=48,\n ),\n ),\n datadog.DashboardWidgetArgs(\n trace_service_definition=datadog.DashboardWidgetTraceServiceDefinitionArgs(\n display_format=\"three_column\",\n env=\"datadog.com\",\n service=\"alerting-cassandra\",\n show_breakdown=True,\n show_distribution=True,\n show_errors=True,\n show_hits=True,\n show_latency=False,\n show_resource_list=False,\n size_format=\"large\",\n span_name=\"cassandra.query\",\n title=\"alerting-cassandra #env:datadog.com\",\n title_align=\"center\",\n title_size=\"13\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=38,\n width=66,\n x=33,\n y=21,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n formulas=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs(\n formula_expression=\"my_query_1 + my_query_2\",\n alias=\"my ff query\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs(\n formula_expression=\"my_query_1 * my_query_2\",\n limit=datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs(\n count=5,\n order=\"desc\",\n ),\n alias=\"my second ff query\",\n ),\n ],\n queries=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n metric_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs(\n data_source=\"metrics\",\n query=\"avg:system.cpu.user{app:general} by {env}\",\n name=\"my_query_1\",\n aggregator=\"sum\",\n ),\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n metric_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs(\n query=\"avg:system.cpu.user{app:general} by {env}\",\n name=\"my_query_2\",\n aggregator=\"sum\",\n ),\n ),\n ],\n )],\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=16,\n width=25,\n x=58,\n y=83,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n event_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs(\n name=\"my-query\",\n data_source=\"logs\",\n indexes=[\"days-3\"],\n computes=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs(\n aggregation=\"count\",\n )],\n group_bies=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs(\n facet=\"host\",\n sort=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs(\n metric=\"@lambda.max_memory_used\",\n aggregation=\"avg\",\n ),\n limit=10,\n )],\n ),\n )],\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n display_type=\"overlay\",\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n metric_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs(\n name=\"MyOverlay\",\n data_source=\"metrics\",\n query=\"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\",\n ),\n )],\n ),\n ],\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=16,\n width=28,\n x=29,\n y=83,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n process_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs(\n data_source=\"process\",\n text_filter=\"abc\",\n metric=\"process.stat.cpu.total_pct\",\n limit=10,\n tag_filters=[\"some_filter\"],\n name=\"my_process_query\",\n sort=\"asc\",\n is_normalized_cpu=True,\n aggregator=\"sum\",\n ),\n )],\n )],\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=16,\n width=28,\n x=0,\n y=83,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n formulas=[datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs(\n formula_expression=\"query1\",\n alias=\"my cloud cost query\",\n )],\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n cloud_cost_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs(\n data_source=\"cloud_cost\",\n query=\"sum:aws.cost.amortized{*}\",\n name=\"query1\",\n aggregator=\"sum\",\n ),\n )],\n )],\n ),\n ),\n datadog.DashboardWidgetArgs(\n powerpack_definition=datadog.DashboardWidgetPowerpackDefinitionArgs(\n powerpack_id=\"00000000-0000-0000-0000-000000000000\",\n background_color=\"blue\",\n banner_img=\"https://example.org/example.png\",\n show_title=True,\n title=\"Powerpack Widget\",\n template_variables=datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs(\n controlled_externallies=[datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs(\n name=\"var_2\",\n values=[\"autoscaling\"],\n prefix=\"service_name\",\n )],\n controlled_by_powerpacks=[datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs(\n name=\"var_3\",\n prefix=\"timeframe\",\n values=[\n \"default\",\n \"values\",\n \"here\",\n ],\n )],\n ),\n ),\n ),\n ],\n template_variables=[\n datadog.DashboardTemplateVariableArgs(\n name=\"var_1\",\n prefix=\"host\",\n default=\"aws\",\n ),\n datadog.DashboardTemplateVariableArgs(\n name=\"var_2\",\n prefix=\"service_name\",\n default=\"autoscaling\",\n ),\n ],\n template_variable_presets=[datadog.DashboardTemplateVariablePresetArgs(\n name=\"preset_1\",\n template_variables=[\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_1\",\n value=\"host.dc\",\n ),\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_2\",\n value=\"my_service\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Ordered Layout\n var orderedDashboard = new Datadog.Dashboard(\"ordered_dashboard\", new()\n {\n Title = \"Ordered Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"ordered\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"895605\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertValueDefinition = new Datadog.Inputs.DashboardWidgetAlertValueDefinitionArgs\n {\n AlertId = \"895605\",\n Precision = 3,\n Unit = \"b\",\n TextAlign = \"center\",\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertValueDefinition = new Datadog.Inputs.DashboardWidgetAlertValueDefinitionArgs\n {\n AlertId = \"895605\",\n Precision = 3,\n Unit = \"b\",\n TextAlign = \"center\",\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ChangeDefinition = new Datadog.Inputs.DashboardWidgetChangeDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetChangeDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n ChangeType = \"absolute\",\n CompareTo = \"week_before\",\n IncreaseGood = true,\n OrderBy = \"name\",\n OrderDir = \"desc\",\n ShowPresent = true,\n },\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n DistributionDefinition = new Datadog.Inputs.DashboardWidgetDistributionDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetDistributionDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Style = new Datadog.Inputs.DashboardWidgetDistributionDefinitionRequestStyleArgs\n {\n Palette = \"warm\",\n },\n },\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n CheckStatusDefinition = new Datadog.Inputs.DashboardWidgetCheckStatusDefinitionArgs\n {\n Check = \"aws.ecs.agent_connected\",\n Grouping = \"cluster\",\n GroupBies = new[]\n {\n \"account\",\n \"cluster\",\n },\n Tags = new[]\n {\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\",\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n HeatmapDefinition = new Datadog.Inputs.DashboardWidgetHeatmapDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetHeatmapDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Style = new Datadog.Inputs.DashboardWidgetHeatmapDefinitionRequestStyleArgs\n {\n Palette = \"warm\",\n },\n },\n },\n Yaxis = new Datadog.Inputs.DashboardWidgetHeatmapDefinitionYaxisArgs\n {\n Min = \"1\",\n Max = \"2\",\n IncludeZero = true,\n Scale = \"sqrt\",\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n HostmapDefinition = new Datadog.Inputs.DashboardWidgetHostmapDefinitionArgs\n {\n Request = new Datadog.Inputs.DashboardWidgetHostmapDefinitionRequestArgs\n {\n Fills = new[]\n {\n new Datadog.Inputs.DashboardWidgetHostmapDefinitionRequestFillArgs\n {\n Q = \"avg:system.load.1{*} by {host}\",\n },\n },\n Sizes = new[]\n {\n new Datadog.Inputs.DashboardWidgetHostmapDefinitionRequestSizeArgs\n {\n Q = \"avg:memcache.uptime{*} by {host}\",\n },\n },\n },\n NodeType = \"container\",\n Groups = new[]\n {\n \"host\",\n \"region\",\n },\n NoGroupHosts = true,\n NoMetricHosts = true,\n Scopes = new[]\n {\n \"region:us-east-1\",\n \"aws_account:727006795293\",\n },\n Style = new Datadog.Inputs.DashboardWidgetHostmapDefinitionStyleArgs\n {\n Palette = \"yellow_to_green\",\n PaletteFlip = true,\n FillMin = \"10\",\n FillMax = \"20\",\n },\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n NoteDefinition = new Datadog.Inputs.DashboardWidgetNoteDefinitionArgs\n {\n Content = \"note text\",\n BackgroundColor = \"pink\",\n FontSize = \"14\",\n TextAlign = \"center\",\n ShowTick = true,\n TickEdge = \"left\",\n TickPos = \"50%\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n QueryValueDefinition = new Datadog.Inputs.DashboardWidgetQueryValueDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryValueDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Aggregator = \"sum\",\n ConditionalFormats = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003c\",\n Value = 2,\n Palette = \"white_on_green\",\n },\n new Datadog.Inputs.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003e\",\n Value = 2.2,\n Palette = \"white_on_red\",\n },\n },\n },\n },\n Autoscale = true,\n CustomUnit = \"xx\",\n Precision = 4,\n TextAlign = \"right\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n QueryTableDefinition = new Datadog.Inputs.DashboardWidgetQueryTableDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryTableDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Aggregator = \"sum\",\n Limit = 10,\n ConditionalFormats = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003c\",\n Value = 2,\n Palette = \"white_on_green\",\n },\n new Datadog.Inputs.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003e\",\n Value = 2.2,\n Palette = \"white_on_red\",\n },\n },\n },\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ScatterplotDefinition = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionArgs\n {\n Request = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionRequestArgs\n {\n Xes = new[]\n {\n new Datadog.Inputs.DashboardWidgetScatterplotDefinitionRequestXArgs\n {\n Q = \"avg:system.cpu.user{*} by {service, account}\",\n Aggregator = \"max\",\n },\n },\n Ys = new[]\n {\n new Datadog.Inputs.DashboardWidgetScatterplotDefinitionRequestYArgs\n {\n Q = \"avg:system.mem.used{*} by {service, account}\",\n Aggregator = \"min\",\n },\n },\n },\n ColorByGroups = new[]\n {\n \"account\",\n \"apm-role-group\",\n },\n Xaxis = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionXaxisArgs\n {\n IncludeZero = true,\n Label = \"x\",\n Min = \"1\",\n Max = \"2000\",\n Scale = \"pow\",\n },\n Yaxis = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionYaxisArgs\n {\n IncludeZero = false,\n Label = \"y\",\n Min = \"5\",\n Max = \"2222\",\n Scale = \"log\",\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ServicemapDefinition = new Datadog.Inputs.DashboardWidgetServicemapDefinitionArgs\n {\n Service = \"master-db\",\n Filters = new[]\n {\n \"env:prod\",\n \"datacenter:dc1\",\n },\n Title = \"env: prod, datacenter:dc1, service: master-db\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Q = \"avg:system.cpu.user{app:general} by {env}\",\n DisplayType = \"line\",\n Style = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestStyleArgs\n {\n Palette = \"warm\",\n LineType = \"dashed\",\n LineWidth = \"thin\",\n },\n Metadatas = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestMetadataArgs\n {\n Expression = \"avg:system.cpu.user{app:general} by {env}\",\n AliasName = \"Alpha\",\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n LogQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs\n {\n Index = \"mcnulty\",\n ComputeQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs\n {\n Aggregation = \"avg\",\n Facet = \"@duration\",\n Interval = 5000,\n },\n SearchQuery = \"status:info\",\n GroupBies = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs\n {\n Facet = \"host\",\n Limit = 10,\n SortQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs\n {\n Aggregation = \"avg\",\n Order = \"desc\",\n Facet = \"@duration\",\n },\n },\n },\n },\n DisplayType = \"area\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n ApmQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs\n {\n Index = \"apm-search\",\n ComputeQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs\n {\n Aggregation = \"avg\",\n Facet = \"@duration\",\n Interval = 5000,\n },\n SearchQuery = \"type:web\",\n GroupBies = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs\n {\n Facet = \"resource_name\",\n Limit = 50,\n SortQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs\n {\n Aggregation = \"avg\",\n Order = \"desc\",\n Facet = \"@string_query.interval\",\n },\n },\n },\n },\n DisplayType = \"bars\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n ProcessQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs\n {\n Metric = \"process.stat.cpu.total_pct\",\n SearchBy = \"error\",\n FilterBies = new[]\n {\n \"active\",\n },\n Limit = 50,\n },\n DisplayType = \"area\",\n },\n },\n Markers = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionMarkerArgs\n {\n DisplayType = \"error dashed\",\n Label = \" z=6 \",\n Value = \"y = 4\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionMarkerArgs\n {\n DisplayType = \"ok solid\",\n Value = \"10 \u003c y \u003c 999\",\n Label = \" x=8 \",\n },\n },\n Title = \"Widget Title\",\n ShowLegend = true,\n LegendSize = \"2\",\n LiveSpan = \"1h\",\n Events = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionEventArgs\n {\n Q = \"sources:test tags:1\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionEventArgs\n {\n Q = \"sources:test tags:2\",\n },\n },\n Yaxis = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionYaxisArgs\n {\n Scale = \"log\",\n IncludeZero = false,\n Max = \"100\",\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ToplistDefinition = new Datadog.Inputs.DashboardWidgetToplistDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetToplistDefinitionRequestArgs\n {\n Q = \"avg:system.cpu.user{app:general} by {env}\",\n ConditionalFormats = new[]\n {\n new Datadog.Inputs.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003c\",\n Value = 2,\n Palette = \"white_on_green\",\n },\n new Datadog.Inputs.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003e\",\n Value = 2.2,\n Palette = \"white_on_red\",\n },\n },\n },\n },\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n GroupDefinition = new Datadog.Inputs.DashboardWidgetGroupDefinitionArgs\n {\n LayoutType = \"ordered\",\n Title = \"Group Widget\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetArgs\n {\n NoteDefinition = new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs\n {\n Content = \"cluster note widget\",\n BackgroundColor = \"pink\",\n FontSize = \"14\",\n TextAlign = \"center\",\n ShowTick = true,\n TickEdge = \"left\",\n TickPos = \"50%\",\n },\n },\n new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"123\",\n VizType = \"toplist\",\n Title = \"Alert Graph\",\n LiveSpan = \"1h\",\n },\n },\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ServiceLevelObjectiveDefinition = new Datadog.Inputs.DashboardWidgetServiceLevelObjectiveDefinitionArgs\n {\n Title = \"Widget Title\",\n ViewType = \"detail\",\n SloId = \"56789\",\n ShowErrorBudget = true,\n ViewMode = \"overall\",\n TimeWindows = new[]\n {\n \"7d\",\n \"previous_week\",\n },\n },\n },\n },\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_1\",\n Prefix = \"host\",\n Default = \"aws\",\n },\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_2\",\n Prefix = \"service_name\",\n Default = \"autoscaling\",\n },\n },\n TemplateVariablePresets = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetArgs\n {\n Name = \"preset_1\",\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_1\",\n Value = \"host.dc\",\n },\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_2\",\n Value = \"my_service\",\n },\n },\n },\n },\n });\n\n // Example Free Layout\n var freeDashboard = new Datadog.Dashboard(\"free_dashboard\", new()\n {\n Title = \"Free Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"free\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.DashboardWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 43,\n Width = 32,\n X = 0,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventTimelineDefinition = new Datadog.Inputs.DashboardWidgetEventTimelineDefinitionArgs\n {\n Query = \"*\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 9,\n Width = 66,\n X = 33,\n Y = 60,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n FreeTextDefinition = new Datadog.Inputs.DashboardWidgetFreeTextDefinitionArgs\n {\n Text = \"free text content\",\n Color = \"#d00\",\n FontSize = \"36\",\n TextAlign = \"left\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 20,\n Width = 34,\n X = 33,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n IframeDefinition = new Datadog.Inputs.DashboardWidgetIframeDefinitionArgs\n {\n Url = \"http://google.com\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 46,\n Width = 39,\n X = 101,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ImageDefinition = new Datadog.Inputs.DashboardWidgetImageDefinitionArgs\n {\n Url = \"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\",\n Sizing = \"fit\",\n Margin = \"small\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 20,\n Width = 30,\n X = 69,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n LogStreamDefinition = new Datadog.Inputs.DashboardWidgetLogStreamDefinitionArgs\n {\n Indexes = new[]\n {\n \"main\",\n },\n Query = \"error\",\n Columns = new[]\n {\n \"core_host\",\n \"core_service\",\n \"tag_source\",\n },\n ShowDateColumn = true,\n ShowMessageColumn = true,\n MessageDisplay = \"expanded-md\",\n Sort = new Datadog.Inputs.DashboardWidgetLogStreamDefinitionSortArgs\n {\n Column = \"time\",\n Order = \"desc\",\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 36,\n Width = 32,\n X = 0,\n Y = 45,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ManageStatusDefinition = new Datadog.Inputs.DashboardWidgetManageStatusDefinitionArgs\n {\n ColorPreference = \"text\",\n DisplayFormat = \"countsAndList\",\n HideZeroCounts = true,\n Query = \"type:metric\",\n ShowLastTriggered = false,\n Sort = \"status,asc\",\n SummaryType = \"monitors\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 40,\n Width = 30,\n X = 101,\n Y = 48,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TraceServiceDefinition = new Datadog.Inputs.DashboardWidgetTraceServiceDefinitionArgs\n {\n DisplayFormat = \"three_column\",\n Env = \"datadog.com\",\n Service = \"alerting-cassandra\",\n ShowBreakdown = true,\n ShowDistribution = true,\n ShowErrors = true,\n ShowHits = true,\n ShowLatency = false,\n ShowResourceList = false,\n SizeFormat = \"large\",\n SpanName = \"cassandra.query\",\n Title = \"alerting-cassandra #env:datadog.com\",\n TitleAlign = \"center\",\n TitleSize = \"13\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 38,\n Width = 66,\n X = 33,\n Y = 21,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Formulas = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs\n {\n FormulaExpression = \"my_query_1 + my_query_2\",\n Alias = \"my ff query\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs\n {\n FormulaExpression = \"my_query_1 * my_query_2\",\n Limit = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs\n {\n Count = 5,\n Order = \"desc\",\n },\n Alias = \"my second ff query\",\n },\n },\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n MetricQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs\n {\n DataSource = \"metrics\",\n Query = \"avg:system.cpu.user{app:general} by {env}\",\n Name = \"my_query_1\",\n Aggregator = \"sum\",\n },\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n MetricQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs\n {\n Query = \"avg:system.cpu.user{app:general} by {env}\",\n Name = \"my_query_2\",\n Aggregator = \"sum\",\n },\n },\n },\n },\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 16,\n Width = 25,\n X = 58,\n Y = 83,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n EventQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs\n {\n Name = \"my-query\",\n DataSource = \"logs\",\n Indexes = new[]\n {\n \"days-3\",\n },\n Computes = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs\n {\n Aggregation = \"count\",\n },\n },\n GroupBies = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs\n {\n Facet = \"host\",\n Sort = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs\n {\n Metric = \"@lambda.max_memory_used\",\n Aggregation = \"avg\",\n },\n Limit = 10,\n },\n },\n },\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n DisplayType = \"overlay\",\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n MetricQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs\n {\n Name = \"MyOverlay\",\n DataSource = \"metrics\",\n Query = \"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\",\n },\n },\n },\n },\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 16,\n Width = 28,\n X = 29,\n Y = 83,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n ProcessQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs\n {\n DataSource = \"process\",\n TextFilter = \"abc\",\n Metric = \"process.stat.cpu.total_pct\",\n Limit = 10,\n TagFilters = new[]\n {\n \"some_filter\",\n },\n Name = \"my_process_query\",\n Sort = \"asc\",\n IsNormalizedCpu = true,\n Aggregator = \"sum\",\n },\n },\n },\n },\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 16,\n Width = 28,\n X = 0,\n Y = 83,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Formulas = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs\n {\n FormulaExpression = \"query1\",\n Alias = \"my cloud cost query\",\n },\n },\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n CloudCostQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs\n {\n DataSource = \"cloud_cost\",\n Query = \"sum:aws.cost.amortized{*}\",\n Name = \"query1\",\n Aggregator = \"sum\",\n },\n },\n },\n },\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n PowerpackDefinition = new Datadog.Inputs.DashboardWidgetPowerpackDefinitionArgs\n {\n PowerpackId = \"00000000-0000-0000-0000-000000000000\",\n BackgroundColor = \"blue\",\n BannerImg = \"https://example.org/example.png\",\n ShowTitle = true,\n Title = \"Powerpack Widget\",\n TemplateVariables = new Datadog.Inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs\n {\n ControlledExternallies = new[]\n {\n new Datadog.Inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs\n {\n Name = \"var_2\",\n Values = new[]\n {\n \"autoscaling\",\n },\n Prefix = \"service_name\",\n },\n },\n ControlledByPowerpacks = new[]\n {\n new Datadog.Inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs\n {\n Name = \"var_3\",\n Prefix = \"timeframe\",\n Values = new[]\n {\n \"default\",\n \"values\",\n \"here\",\n },\n },\n },\n },\n },\n },\n },\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_1\",\n Prefix = \"host\",\n Default = \"aws\",\n },\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_2\",\n Prefix = \"service_name\",\n Default = \"autoscaling\",\n },\n },\n TemplateVariablePresets = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetArgs\n {\n Name = \"preset_1\",\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_1\",\n Value = \"host.dc\",\n },\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_2\",\n Value = \"my_service\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Ordered Layout\n\t\t_, err := datadog.NewDashboard(ctx, \"ordered_dashboard\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"Ordered Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"895605\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertValueDefinition: \u0026datadog.DashboardWidgetAlertValueDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"895605\"),\n\t\t\t\t\t\tPrecision: pulumi.Int(3),\n\t\t\t\t\t\tUnit: pulumi.String(\"b\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertValueDefinition: \u0026datadog.DashboardWidgetAlertValueDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"895605\"),\n\t\t\t\t\t\tPrecision: pulumi.Int(3),\n\t\t\t\t\t\tUnit: pulumi.String(\"b\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tChangeDefinition: \u0026datadog.DashboardWidgetChangeDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetChangeDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetChangeDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tChangeType: pulumi.String(\"absolute\"),\n\t\t\t\t\t\t\t\tCompareTo: pulumi.String(\"week_before\"),\n\t\t\t\t\t\t\t\tIncreaseGood: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tOrderBy: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tOrderDir: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\tShowPresent: pulumi.Bool(true),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tDistributionDefinition: \u0026datadog.DashboardWidgetDistributionDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetDistributionDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetDistributionDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetDistributionDefinitionRequestStyleArgs{\n\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"warm\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tCheckStatusDefinition: \u0026datadog.DashboardWidgetCheckStatusDefinitionArgs{\n\t\t\t\t\t\tCheck: pulumi.String(\"aws.ecs.agent_connected\"),\n\t\t\t\t\t\tGrouping: pulumi.String(\"cluster\"),\n\t\t\t\t\t\tGroupBies: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"account\"),\n\t\t\t\t\t\t\tpulumi.String(\"cluster\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"account:demo\"),\n\t\t\t\t\t\t\tpulumi.String(\"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tHeatmapDefinition: \u0026datadog.DashboardWidgetHeatmapDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetHeatmapDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetHeatmapDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetHeatmapDefinitionRequestStyleArgs{\n\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"warm\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tYaxis: \u0026datadog.DashboardWidgetHeatmapDefinitionYaxisArgs{\n\t\t\t\t\t\t\tMin: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tMax: pulumi.String(\"2\"),\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(true),\n\t\t\t\t\t\t\tScale: pulumi.String(\"sqrt\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tHostmapDefinition: \u0026datadog.DashboardWidgetHostmapDefinitionArgs{\n\t\t\t\t\t\tRequest: \u0026datadog.DashboardWidgetHostmapDefinitionRequestArgs{\n\t\t\t\t\t\t\tFills: datadog.DashboardWidgetHostmapDefinitionRequestFillArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetHostmapDefinitionRequestFillArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{*} by {host}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSizes: datadog.DashboardWidgetHostmapDefinitionRequestSizeArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetHostmapDefinitionRequestSizeArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:memcache.uptime{*} by {host}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNodeType: pulumi.String(\"container\"),\n\t\t\t\t\t\tGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"host\"),\n\t\t\t\t\t\t\tpulumi.String(\"region\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNoGroupHosts: pulumi.Bool(true),\n\t\t\t\t\t\tNoMetricHosts: pulumi.Bool(true),\n\t\t\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"region:us-east-1\"),\n\t\t\t\t\t\t\tpulumi.String(\"aws_account:727006795293\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetHostmapDefinitionStyleArgs{\n\t\t\t\t\t\t\tPalette: pulumi.String(\"yellow_to_green\"),\n\t\t\t\t\t\t\tPaletteFlip: pulumi.Bool(true),\n\t\t\t\t\t\t\tFillMin: pulumi.String(\"10\"),\n\t\t\t\t\t\t\tFillMax: pulumi.String(\"20\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tNoteDefinition: \u0026datadog.DashboardWidgetNoteDefinitionArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"note text\"),\n\t\t\t\t\t\tBackgroundColor: pulumi.String(\"pink\"),\n\t\t\t\t\t\tFontSize: pulumi.String(\"14\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tShowTick: pulumi.Bool(true),\n\t\t\t\t\t\tTickEdge: pulumi.String(\"left\"),\n\t\t\t\t\t\tTickPos: pulumi.String(\"50%\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tQueryValueDefinition: \u0026datadog.DashboardWidgetQueryValueDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetQueryValueDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryValueDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\tConditionalFormats: datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003c\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_green\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2.2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_red\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAutoscale: pulumi.Bool(true),\n\t\t\t\t\t\tCustomUnit: pulumi.String(\"xx\"),\n\t\t\t\t\t\tPrecision: pulumi.Int(4),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"right\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tQueryTableDefinition: \u0026datadog.DashboardWidgetQueryTableDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetQueryTableDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryTableDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\tConditionalFormats: datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003c\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_green\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2.2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_red\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tScatterplotDefinition: \u0026datadog.DashboardWidgetScatterplotDefinitionArgs{\n\t\t\t\t\t\tRequest: \u0026datadog.DashboardWidgetScatterplotDefinitionRequestArgs{\n\t\t\t\t\t\t\tXes: datadog.DashboardWidgetScatterplotDefinitionRequestXArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetScatterplotDefinitionRequestXArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.cpu.user{*} by {service, account}\"),\n\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"max\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tYs: datadog.DashboardWidgetScatterplotDefinitionRequestYArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetScatterplotDefinitionRequestYArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.mem.used{*} by {service, account}\"),\n\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"min\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tColorByGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"account\"),\n\t\t\t\t\t\t\tpulumi.String(\"apm-role-group\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tXaxis: \u0026datadog.DashboardWidgetScatterplotDefinitionXaxisArgs{\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(true),\n\t\t\t\t\t\t\tLabel: pulumi.String(\"x\"),\n\t\t\t\t\t\t\tMin: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tMax: pulumi.String(\"2000\"),\n\t\t\t\t\t\t\tScale: pulumi.String(\"pow\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tYaxis: \u0026datadog.DashboardWidgetScatterplotDefinitionYaxisArgs{\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(false),\n\t\t\t\t\t\t\tLabel: pulumi.String(\"y\"),\n\t\t\t\t\t\t\tMin: pulumi.String(\"5\"),\n\t\t\t\t\t\t\tMax: pulumi.String(\"2222\"),\n\t\t\t\t\t\t\tScale: pulumi.String(\"log\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tServicemapDefinition: \u0026datadog.DashboardWidgetServicemapDefinitionArgs{\n\t\t\t\t\t\tService: pulumi.String(\"master-db\"),\n\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"env:prod\"),\n\t\t\t\t\t\t\tpulumi.String(\"datacenter:dc1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"env: prod, datacenter:dc1, service: master-db\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"line\"),\n\t\t\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestStyleArgs{\n\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"warm\"),\n\t\t\t\t\t\t\t\t\tLineType: pulumi.String(\"dashed\"),\n\t\t\t\t\t\t\t\t\tLineWidth: pulumi.String(\"thin\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tMetadatas: datadog.DashboardWidgetTimeseriesDefinitionRequestMetadataArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestMetadataArgs{\n\t\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\t\t\tAliasName: pulumi.String(\"Alpha\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tLogQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs{\n\t\t\t\t\t\t\t\t\tIndex: pulumi.String(\"mcnulty\"),\n\t\t\t\t\t\t\t\t\tComputeQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs{\n\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@duration\"),\n\t\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(5000),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tSearchQuery: pulumi.String(\"status:info\"),\n\t\t\t\t\t\t\t\t\tGroupBies: datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArray{\n\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs{\n\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"host\"),\n\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\t\t\t\tSortQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@duration\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"area\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tApmQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs{\n\t\t\t\t\t\t\t\t\tIndex: pulumi.String(\"apm-search\"),\n\t\t\t\t\t\t\t\t\tComputeQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs{\n\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@duration\"),\n\t\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(5000),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tSearchQuery: pulumi.String(\"type:web\"),\n\t\t\t\t\t\t\t\t\tGroupBies: datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArray{\n\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs{\n\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"resource_name\"),\n\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(50),\n\t\t\t\t\t\t\t\t\t\t\tSortQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@string_query.interval\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"bars\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tProcessQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs{\n\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"process.stat.cpu.total_pct\"),\n\t\t\t\t\t\t\t\t\tSearchBy: pulumi.String(\"error\"),\n\t\t\t\t\t\t\t\t\tFilterBies: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"active\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(50),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"area\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMarkers: datadog.DashboardWidgetTimeseriesDefinitionMarkerArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs{\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"error dashed\"),\n\t\t\t\t\t\t\t\tLabel: pulumi.String(\" z=6 \"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"y = 4\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs{\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"ok solid\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"10 \u003c y \u003c 999\"),\n\t\t\t\t\t\t\t\tLabel: pulumi.String(\" x=8 \"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tShowLegend: pulumi.Bool(true),\n\t\t\t\t\t\tLegendSize: pulumi.String(\"2\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t\tEvents: datadog.DashboardWidgetTimeseriesDefinitionEventArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionEventArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"sources:test tags:1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionEventArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"sources:test tags:2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tYaxis: \u0026datadog.DashboardWidgetTimeseriesDefinitionYaxisArgs{\n\t\t\t\t\t\t\tScale: pulumi.String(\"log\"),\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(false),\n\t\t\t\t\t\t\tMax: pulumi.String(\"100\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tToplistDefinition: \u0026datadog.DashboardWidgetToplistDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetToplistDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetToplistDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\tConditionalFormats: datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003c\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_green\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2.2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_red\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tGroupDefinition: \u0026datadog.DashboardWidgetGroupDefinitionArgs{\n\t\t\t\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Group Widget\"),\n\t\t\t\t\t\tWidgets: datadog.DashboardWidgetGroupDefinitionWidgetArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetGroupDefinitionWidgetArgs{\n\t\t\t\t\t\t\t\tNoteDefinition: \u0026datadog.DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs{\n\t\t\t\t\t\t\t\t\tContent: pulumi.String(\"cluster note widget\"),\n\t\t\t\t\t\t\t\t\tBackgroundColor: pulumi.String(\"pink\"),\n\t\t\t\t\t\t\t\t\tFontSize: pulumi.String(\"14\"),\n\t\t\t\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\t\t\t\tShowTick: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\tTickEdge: pulumi.String(\"left\"),\n\t\t\t\t\t\t\t\t\tTickPos: pulumi.String(\"50%\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetGroupDefinitionWidgetArgs{\n\t\t\t\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\t\t\t\tAlertId: pulumi.String(\"123\"),\n\t\t\t\t\t\t\t\t\tVizType: pulumi.String(\"toplist\"),\n\t\t\t\t\t\t\t\t\tTitle: pulumi.String(\"Alert Graph\"),\n\t\t\t\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tServiceLevelObjectiveDefinition: \u0026datadog.DashboardWidgetServiceLevelObjectiveDefinitionArgs{\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tViewType: pulumi.String(\"detail\"),\n\t\t\t\t\t\tSloId: pulumi.String(\"56789\"),\n\t\t\t\t\t\tShowErrorBudget: pulumi.Bool(true),\n\t\t\t\t\t\tViewMode: pulumi.String(\"overall\"),\n\t\t\t\t\t\tTimeWindows: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"7d\"),\n\t\t\t\t\t\t\tpulumi.String(\"previous_week\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariables: datadog.DashboardTemplateVariableArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\tPrefix: pulumi.String(\"host\"),\n\t\t\t\t\tDefault: pulumi.String(\"aws\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\tPrefix: pulumi.String(\"service_name\"),\n\t\t\t\t\tDefault: pulumi.String(\"autoscaling\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariablePresets: datadog.DashboardTemplateVariablePresetArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetArgs{\n\t\t\t\t\tName: pulumi.String(\"preset_1\"),\n\t\t\t\t\tTemplateVariables: datadog.DashboardTemplateVariablePresetTemplateVariableArray{\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"host.dc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"my_service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Free Layout\n\t\t_, err = datadog.NewDashboard(ctx, \"free_dashboard\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"Free Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"free\"),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.DashboardWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(43),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventTimelineDefinition: \u0026datadog.DashboardWidgetEventTimelineDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(9),\n\t\t\t\t\t\tWidth: pulumi.Int(66),\n\t\t\t\t\t\tX: pulumi.Int(33),\n\t\t\t\t\t\tY: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tFreeTextDefinition: \u0026datadog.DashboardWidgetFreeTextDefinitionArgs{\n\t\t\t\t\t\tText: pulumi.String(\"free text content\"),\n\t\t\t\t\t\tColor: pulumi.String(\"#d00\"),\n\t\t\t\t\t\tFontSize: pulumi.String(\"36\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"left\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(20),\n\t\t\t\t\t\tWidth: pulumi.Int(34),\n\t\t\t\t\t\tX: pulumi.Int(33),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tIframeDefinition: \u0026datadog.DashboardWidgetIframeDefinitionArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"http://google.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(46),\n\t\t\t\t\t\tWidth: pulumi.Int(39),\n\t\t\t\t\t\tX: pulumi.Int(101),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tImageDefinition: \u0026datadog.DashboardWidgetImageDefinitionArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\"),\n\t\t\t\t\t\tSizing: pulumi.String(\"fit\"),\n\t\t\t\t\t\tMargin: pulumi.String(\"small\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(20),\n\t\t\t\t\t\tWidth: pulumi.Int(30),\n\t\t\t\t\t\tX: pulumi.Int(69),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tLogStreamDefinition: \u0026datadog.DashboardWidgetLogStreamDefinitionArgs{\n\t\t\t\t\t\tIndexes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"main\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQuery: pulumi.String(\"error\"),\n\t\t\t\t\t\tColumns: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"core_host\"),\n\t\t\t\t\t\t\tpulumi.String(\"core_service\"),\n\t\t\t\t\t\t\tpulumi.String(\"tag_source\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tShowDateColumn: pulumi.Bool(true),\n\t\t\t\t\t\tShowMessageColumn: pulumi.Bool(true),\n\t\t\t\t\t\tMessageDisplay: pulumi.String(\"expanded-md\"),\n\t\t\t\t\t\tSort: \u0026datadog.DashboardWidgetLogStreamDefinitionSortArgs{\n\t\t\t\t\t\t\tColumn: pulumi.String(\"time\"),\n\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(36),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\tY: pulumi.Int(45),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tManageStatusDefinition: \u0026datadog.DashboardWidgetManageStatusDefinitionArgs{\n\t\t\t\t\t\tColorPreference: pulumi.String(\"text\"),\n\t\t\t\t\t\tDisplayFormat: pulumi.String(\"countsAndList\"),\n\t\t\t\t\t\tHideZeroCounts: pulumi.Bool(true),\n\t\t\t\t\t\tQuery: pulumi.String(\"type:metric\"),\n\t\t\t\t\t\tShowLastTriggered: pulumi.Bool(false),\n\t\t\t\t\t\tSort: pulumi.String(\"status,asc\"),\n\t\t\t\t\t\tSummaryType: pulumi.String(\"monitors\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(40),\n\t\t\t\t\t\tWidth: pulumi.Int(30),\n\t\t\t\t\t\tX: pulumi.Int(101),\n\t\t\t\t\t\tY: pulumi.Int(48),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTraceServiceDefinition: \u0026datadog.DashboardWidgetTraceServiceDefinitionArgs{\n\t\t\t\t\t\tDisplayFormat: pulumi.String(\"three_column\"),\n\t\t\t\t\t\tEnv: pulumi.String(\"datadog.com\"),\n\t\t\t\t\t\tService: pulumi.String(\"alerting-cassandra\"),\n\t\t\t\t\t\tShowBreakdown: pulumi.Bool(true),\n\t\t\t\t\t\tShowDistribution: pulumi.Bool(true),\n\t\t\t\t\t\tShowErrors: pulumi.Bool(true),\n\t\t\t\t\t\tShowHits: pulumi.Bool(true),\n\t\t\t\t\t\tShowLatency: pulumi.Bool(false),\n\t\t\t\t\t\tShowResourceList: pulumi.Bool(false),\n\t\t\t\t\t\tSizeFormat: pulumi.String(\"large\"),\n\t\t\t\t\t\tSpanName: pulumi.String(\"cassandra.query\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"alerting-cassandra #env:datadog.com\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"13\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(38),\n\t\t\t\t\t\tWidth: pulumi.Int(66),\n\t\t\t\t\t\tX: pulumi.Int(33),\n\t\t\t\t\t\tY: pulumi.Int(21),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tFormulas: datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs{\n\t\t\t\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"my_query_1 + my_query_2\"),\n\t\t\t\t\t\t\t\t\t\tAlias: pulumi.String(\"my ff query\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs{\n\t\t\t\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"my_query_1 * my_query_2\"),\n\t\t\t\t\t\t\t\t\t\tLimit: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs{\n\t\t\t\t\t\t\t\t\t\t\tCount: pulumi.Int(5),\n\t\t\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tAlias: pulumi.String(\"my second ff query\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"metrics\"),\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my_query_1\"),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my_query_2\"),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(16),\n\t\t\t\t\t\tWidth: pulumi.Int(25),\n\t\t\t\t\t\tX: pulumi.Int(58),\n\t\t\t\t\t\tY: pulumi.Int(83),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tEventQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my-query\"),\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"logs\"),\n\t\t\t\t\t\t\t\t\t\t\tIndexes: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"days-3\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tComputes: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"count\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tGroupBies: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"host\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tSort: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"@lambda.max_memory_used\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"overlay\"),\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"MyOverlay\"),\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"metrics\"),\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(16),\n\t\t\t\t\t\tWidth: pulumi.Int(28),\n\t\t\t\t\t\tX: pulumi.Int(29),\n\t\t\t\t\t\tY: pulumi.Int(83),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tProcessQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"process\"),\n\t\t\t\t\t\t\t\t\t\t\tTextFilter: pulumi.String(\"abc\"),\n\t\t\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"process.stat.cpu.total_pct\"),\n\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\t\t\t\tTagFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"some_filter\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my_process_query\"),\n\t\t\t\t\t\t\t\t\t\t\tSort: pulumi.String(\"asc\"),\n\t\t\t\t\t\t\t\t\t\t\tIsNormalizedCpu: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(16),\n\t\t\t\t\t\tWidth: pulumi.Int(28),\n\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\tY: pulumi.Int(83),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tFormulas: datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs{\n\t\t\t\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"query1\"),\n\t\t\t\t\t\t\t\t\t\tAlias: pulumi.String(\"my cloud cost query\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tCloudCostQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"cloud_cost\"),\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"sum:aws.cost.amortized{*}\"),\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"query1\"),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tPowerpackDefinition: \u0026datadog.DashboardWidgetPowerpackDefinitionArgs{\n\t\t\t\t\t\tPowerpackId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\t\tBackgroundColor: pulumi.String(\"blue\"),\n\t\t\t\t\t\tBannerImg: pulumi.String(\"https://example.org/example.png\"),\n\t\t\t\t\t\tShowTitle: pulumi.Bool(true),\n\t\t\t\t\t\tTitle: pulumi.String(\"Powerpack Widget\"),\n\t\t\t\t\t\tTemplateVariables: \u0026datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs{\n\t\t\t\t\t\t\tControlledExternallies: datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"autoscaling\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tPrefix: pulumi.String(\"service_name\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tControlledByPowerpacks: datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"var_3\"),\n\t\t\t\t\t\t\t\t\tPrefix: pulumi.String(\"timeframe\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"values\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"here\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariables: datadog.DashboardTemplateVariableArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\tPrefix: pulumi.String(\"host\"),\n\t\t\t\t\tDefault: pulumi.String(\"aws\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\tPrefix: pulumi.String(\"service_name\"),\n\t\t\t\t\tDefault: pulumi.String(\"autoscaling\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariablePresets: datadog.DashboardTemplateVariablePresetArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetArgs{\n\t\t\t\t\tName: pulumi.String(\"preset_1\"),\n\t\t\t\t\tTemplateVariables: datadog.DashboardTemplateVariablePresetTemplateVariableArray{\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"host.dc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"my_service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertValueDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetChangeDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetDistributionDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetCheckStatusDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHeatmapDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHeatmapDefinitionYaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHostmapDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHostmapDefinitionRequestArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHostmapDefinitionStyleArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetNoteDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetQueryValueDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetQueryTableDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionRequestArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionXaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionYaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetServicemapDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetTimeseriesDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetTimeseriesDefinitionYaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetToplistDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetGroupDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetServiceLevelObjectiveDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardTemplateVariableArgs;\nimport com.pulumi.datadog.inputs.DashboardTemplateVariablePresetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetWidgetLayoutArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventTimelineDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetFreeTextDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetIframeDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetImageDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetLogStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetLogStreamDefinitionSortArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetManageStatusDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetTraceServiceDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetPowerpackDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs;\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 Ordered Layout\n var orderedDashboard = new Dashboard(\"orderedDashboard\", DashboardArgs.builder() \n .title(\"Ordered Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"ordered\")\n .widgets( \n DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"895605\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .alertValueDefinition(DashboardWidgetAlertValueDefinitionArgs.builder()\n .alertId(\"895605\")\n .precision(3)\n .unit(\"b\")\n .textAlign(\"center\")\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .alertValueDefinition(DashboardWidgetAlertValueDefinitionArgs.builder()\n .alertId(\"895605\")\n .precision(3)\n .unit(\"b\")\n .textAlign(\"center\")\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .changeDefinition(DashboardWidgetChangeDefinitionArgs.builder()\n .requests(DashboardWidgetChangeDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .changeType(\"absolute\")\n .compareTo(\"week_before\")\n .increaseGood(true)\n .orderBy(\"name\")\n .orderDir(\"desc\")\n .showPresent(true)\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .distributionDefinition(DashboardWidgetDistributionDefinitionArgs.builder()\n .requests(DashboardWidgetDistributionDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .style(DashboardWidgetDistributionDefinitionRequestStyleArgs.builder()\n .palette(\"warm\")\n .build())\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .checkStatusDefinition(DashboardWidgetCheckStatusDefinitionArgs.builder()\n .check(\"aws.ecs.agent_connected\")\n .grouping(\"cluster\")\n .groupBies( \n \"account\",\n \"cluster\")\n .tags( \n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .heatmapDefinition(DashboardWidgetHeatmapDefinitionArgs.builder()\n .requests(DashboardWidgetHeatmapDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .style(DashboardWidgetHeatmapDefinitionRequestStyleArgs.builder()\n .palette(\"warm\")\n .build())\n .build())\n .yaxis(DashboardWidgetHeatmapDefinitionYaxisArgs.builder()\n .min(1)\n .max(2)\n .includeZero(true)\n .scale(\"sqrt\")\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .hostmapDefinition(DashboardWidgetHostmapDefinitionArgs.builder()\n .request(DashboardWidgetHostmapDefinitionRequestArgs.builder()\n .fills(DashboardWidgetHostmapDefinitionRequestFillArgs.builder()\n .q(\"avg:system.load.1{*} by {host}\")\n .build())\n .sizes(DashboardWidgetHostmapDefinitionRequestSizeArgs.builder()\n .q(\"avg:memcache.uptime{*} by {host}\")\n .build())\n .build())\n .nodeType(\"container\")\n .groups( \n \"host\",\n \"region\")\n .noGroupHosts(true)\n .noMetricHosts(true)\n .scopes( \n \"region:us-east-1\",\n \"aws_account:727006795293\")\n .style(DashboardWidgetHostmapDefinitionStyleArgs.builder()\n .palette(\"yellow_to_green\")\n .paletteFlip(true)\n .fillMin(\"10\")\n .fillMax(\"20\")\n .build())\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .noteDefinition(DashboardWidgetNoteDefinitionArgs.builder()\n .content(\"note text\")\n .backgroundColor(\"pink\")\n .fontSize(\"14\")\n .textAlign(\"center\")\n .showTick(true)\n .tickEdge(\"left\")\n .tickPos(\"50%\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .queryValueDefinition(DashboardWidgetQueryValueDefinitionArgs.builder()\n .requests(DashboardWidgetQueryValueDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .aggregator(\"sum\")\n .conditionalFormats( \n DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003c\")\n .value(\"2\")\n .palette(\"white_on_green\")\n .build(),\n DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003e\")\n .value(\"2.2\")\n .palette(\"white_on_red\")\n .build())\n .build())\n .autoscale(true)\n .customUnit(\"xx\")\n .precision(\"4\")\n .textAlign(\"right\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .queryTableDefinition(DashboardWidgetQueryTableDefinitionArgs.builder()\n .requests(DashboardWidgetQueryTableDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .aggregator(\"sum\")\n .limit(\"10\")\n .conditionalFormats( \n DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003c\")\n .value(\"2\")\n .palette(\"white_on_green\")\n .build(),\n DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003e\")\n .value(\"2.2\")\n .palette(\"white_on_red\")\n .build())\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .scatterplotDefinition(DashboardWidgetScatterplotDefinitionArgs.builder()\n .request(DashboardWidgetScatterplotDefinitionRequestArgs.builder()\n .xes(DashboardWidgetScatterplotDefinitionRequestXArgs.builder()\n .q(\"avg:system.cpu.user{*} by {service, account}\")\n .aggregator(\"max\")\n .build())\n .ys(DashboardWidgetScatterplotDefinitionRequestYArgs.builder()\n .q(\"avg:system.mem.used{*} by {service, account}\")\n .aggregator(\"min\")\n .build())\n .build())\n .colorByGroups( \n \"account\",\n \"apm-role-group\")\n .xaxis(DashboardWidgetScatterplotDefinitionXaxisArgs.builder()\n .includeZero(true)\n .label(\"x\")\n .min(\"1\")\n .max(\"2000\")\n .scale(\"pow\")\n .build())\n .yaxis(DashboardWidgetScatterplotDefinitionYaxisArgs.builder()\n .includeZero(false)\n .label(\"y\")\n .min(\"5\")\n .max(\"2222\")\n .scale(\"log\")\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .servicemapDefinition(DashboardWidgetServicemapDefinitionArgs.builder()\n .service(\"master-db\")\n .filters( \n \"env:prod\",\n \"datacenter:dc1\")\n .title(\"env: prod, datacenter:dc1, service: master-db\")\n .titleSize(\"16\")\n .titleAlign(\"left\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests( \n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .q(\"avg:system.cpu.user{app:general} by {env}\")\n .displayType(\"line\")\n .style(DashboardWidgetTimeseriesDefinitionRequestStyleArgs.builder()\n .palette(\"warm\")\n .lineType(\"dashed\")\n .lineWidth(\"thin\")\n .build())\n .metadatas(DashboardWidgetTimeseriesDefinitionRequestMetadataArgs.builder()\n .expression(\"avg:system.cpu.user{app:general} by {env}\")\n .aliasName(\"Alpha\")\n .build())\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .logQuery(DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs.builder()\n .index(\"mcnulty\")\n .computeQuery(DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs.builder()\n .aggregation(\"avg\")\n .facet(\"@duration\")\n .interval(5000)\n .build())\n .searchQuery(\"status:info\")\n .groupBies(DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs.builder()\n .facet(\"host\")\n .limit(10)\n .sortQuery(DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs.builder()\n .aggregation(\"avg\")\n .order(\"desc\")\n .facet(\"@duration\")\n .build())\n .build())\n .build())\n .displayType(\"area\")\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .apmQuery(DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs.builder()\n .index(\"apm-search\")\n .computeQuery(DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs.builder()\n .aggregation(\"avg\")\n .facet(\"@duration\")\n .interval(5000)\n .build())\n .searchQuery(\"type:web\")\n .groupBies(DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs.builder()\n .facet(\"resource_name\")\n .limit(50)\n .sortQuery(DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs.builder()\n .aggregation(\"avg\")\n .order(\"desc\")\n .facet(\"@string_query.interval\")\n .build())\n .build())\n .build())\n .displayType(\"bars\")\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .processQuery(DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs.builder()\n .metric(\"process.stat.cpu.total_pct\")\n .searchBy(\"error\")\n .filterBies(\"active\")\n .limit(50)\n .build())\n .displayType(\"area\")\n .build())\n .markers( \n DashboardWidgetTimeseriesDefinitionMarkerArgs.builder()\n .displayType(\"error dashed\")\n .label(\" z=6 \")\n .value(\"y = 4\")\n .build(),\n DashboardWidgetTimeseriesDefinitionMarkerArgs.builder()\n .displayType(\"ok solid\")\n .value(\"10 \u003c y \u003c 999\")\n .label(\" x=8 \")\n .build())\n .title(\"Widget Title\")\n .showLegend(true)\n .legendSize(\"2\")\n .liveSpan(\"1h\")\n .events( \n DashboardWidgetTimeseriesDefinitionEventArgs.builder()\n .q(\"sources:test tags:1\")\n .build(),\n DashboardWidgetTimeseriesDefinitionEventArgs.builder()\n .q(\"sources:test tags:2\")\n .build())\n .yaxis(DashboardWidgetTimeseriesDefinitionYaxisArgs.builder()\n .scale(\"log\")\n .includeZero(false)\n .max(100)\n .build())\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .toplistDefinition(DashboardWidgetToplistDefinitionArgs.builder()\n .requests(DashboardWidgetToplistDefinitionRequestArgs.builder()\n .q(\"avg:system.cpu.user{app:general} by {env}\")\n .conditionalFormats( \n DashboardWidgetToplistDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003c\")\n .value(\"2\")\n .palette(\"white_on_green\")\n .build(),\n DashboardWidgetToplistDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003e\")\n .value(\"2.2\")\n .palette(\"white_on_red\")\n .build())\n .build())\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .groupDefinition(DashboardWidgetGroupDefinitionArgs.builder()\n .layoutType(\"ordered\")\n .title(\"Group Widget\")\n .widgets( \n DashboardWidgetGroupDefinitionWidgetArgs.builder()\n .noteDefinition(DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs.builder()\n .content(\"cluster note widget\")\n .backgroundColor(\"pink\")\n .fontSize(\"14\")\n .textAlign(\"center\")\n .showTick(true)\n .tickEdge(\"left\")\n .tickPos(\"50%\")\n .build())\n .build(),\n DashboardWidgetGroupDefinitionWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"123\")\n .vizType(\"toplist\")\n .title(\"Alert Graph\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .serviceLevelObjectiveDefinition(DashboardWidgetServiceLevelObjectiveDefinitionArgs.builder()\n .title(\"Widget Title\")\n .viewType(\"detail\")\n .sloId(\"56789\")\n .showErrorBudget(true)\n .viewMode(\"overall\")\n .timeWindows( \n \"7d\",\n \"previous_week\")\n .build())\n .build())\n .templateVariables( \n DashboardTemplateVariableArgs.builder()\n .name(\"var_1\")\n .prefix(\"host\")\n .default_(\"aws\")\n .build(),\n DashboardTemplateVariableArgs.builder()\n .name(\"var_2\")\n .prefix(\"service_name\")\n .default_(\"autoscaling\")\n .build())\n .templateVariablePresets(DashboardTemplateVariablePresetArgs.builder()\n .name(\"preset_1\")\n .templateVariables( \n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_1\")\n .value(\"host.dc\")\n .build(),\n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_2\")\n .value(\"my_service\")\n .build())\n .build())\n .build());\n\n // Example Free Layout\n var freeDashboard = new Dashboard(\"freeDashboard\", DashboardArgs.builder() \n .title(\"Free Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"free\")\n .widgets( \n DashboardWidgetArgs.builder()\n .eventStreamDefinition(DashboardWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(43)\n .width(32)\n .x(0)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .eventTimelineDefinition(DashboardWidgetEventTimelineDefinitionArgs.builder()\n .query(\"*\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(9)\n .width(66)\n .x(33)\n .y(60)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .freeTextDefinition(DashboardWidgetFreeTextDefinitionArgs.builder()\n .text(\"free text content\")\n .color(\"#d00\")\n .fontSize(\"36\")\n .textAlign(\"left\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(20)\n .width(34)\n .x(33)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .iframeDefinition(DashboardWidgetIframeDefinitionArgs.builder()\n .url(\"http://google.com\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(46)\n .width(39)\n .x(101)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .imageDefinition(DashboardWidgetImageDefinitionArgs.builder()\n .url(\"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\")\n .sizing(\"fit\")\n .margin(\"small\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(20)\n .width(30)\n .x(69)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .logStreamDefinition(DashboardWidgetLogStreamDefinitionArgs.builder()\n .indexes(\"main\")\n .query(\"error\")\n .columns( \n \"core_host\",\n \"core_service\",\n \"tag_source\")\n .showDateColumn(true)\n .showMessageColumn(true)\n .messageDisplay(\"expanded-md\")\n .sort(DashboardWidgetLogStreamDefinitionSortArgs.builder()\n .column(\"time\")\n .order(\"desc\")\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(36)\n .width(32)\n .x(0)\n .y(45)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .manageStatusDefinition(DashboardWidgetManageStatusDefinitionArgs.builder()\n .colorPreference(\"text\")\n .displayFormat(\"countsAndList\")\n .hideZeroCounts(true)\n .query(\"type:metric\")\n .showLastTriggered(false)\n .sort(\"status,asc\")\n .summaryType(\"monitors\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(40)\n .width(30)\n .x(101)\n .y(48)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .traceServiceDefinition(DashboardWidgetTraceServiceDefinitionArgs.builder()\n .displayFormat(\"three_column\")\n .env(\"datadog.com\")\n .service(\"alerting-cassandra\")\n .showBreakdown(true)\n .showDistribution(true)\n .showErrors(true)\n .showHits(true)\n .showLatency(false)\n .showResourceList(false)\n .sizeFormat(\"large\")\n .spanName(\"cassandra.query\")\n .title(\"alerting-cassandra #env:datadog.com\")\n .titleAlign(\"center\")\n .titleSize(\"13\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(38)\n .width(66)\n .x(33)\n .y(21)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests(DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .formulas( \n DashboardWidgetTimeseriesDefinitionRequestFormulaArgs.builder()\n .formulaExpression(\"my_query_1 + my_query_2\")\n .alias(\"my ff query\")\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestFormulaArgs.builder()\n .formulaExpression(\"my_query_1 * my_query_2\")\n .limit(DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs.builder()\n .count(5)\n .order(\"desc\")\n .build())\n .alias(\"my second ff query\")\n .build())\n .queries( \n DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .metricQuery(DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs.builder()\n .dataSource(\"metrics\")\n .query(\"avg:system.cpu.user{app:general} by {env}\")\n .name(\"my_query_1\")\n .aggregator(\"sum\")\n .build())\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .metricQuery(DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs.builder()\n .query(\"avg:system.cpu.user{app:general} by {env}\")\n .name(\"my_query_2\")\n .aggregator(\"sum\")\n .build())\n .build())\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(16)\n .width(25)\n .x(58)\n .y(83)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests( \n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .eventQuery(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs.builder()\n .name(\"my-query\")\n .dataSource(\"logs\")\n .indexes(\"days-3\")\n .computes(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs.builder()\n .aggregation(\"count\")\n .build())\n .groupBies(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs.builder()\n .facet(\"host\")\n .sort(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs.builder()\n .metric(\"@lambda.max_memory_used\")\n .aggregation(\"avg\")\n .build())\n .limit(10)\n .build())\n .build())\n .build())\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .displayType(\"overlay\")\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .metricQuery(DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs.builder()\n .name(\"MyOverlay\")\n .dataSource(\"metrics\")\n .query(\"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\")\n .build())\n .build())\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(16)\n .width(28)\n .x(29)\n .y(83)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests(DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .processQuery(DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs.builder()\n .dataSource(\"process\")\n .textFilter(\"abc\")\n .metric(\"process.stat.cpu.total_pct\")\n .limit(10)\n .tagFilters(\"some_filter\")\n .name(\"my_process_query\")\n .sort(\"asc\")\n .isNormalizedCpu(true)\n .aggregator(\"sum\")\n .build())\n .build())\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(16)\n .width(28)\n .x(0)\n .y(83)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests(DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .formulas(DashboardWidgetTimeseriesDefinitionRequestFormulaArgs.builder()\n .formulaExpression(\"query1\")\n .alias(\"my cloud cost query\")\n .build())\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .cloudCostQuery(DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs.builder()\n .dataSource(\"cloud_cost\")\n .query(\"sum:aws.cost.amortized{*}\")\n .name(\"query1\")\n .aggregator(\"sum\")\n .build())\n .build())\n .build())\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .powerpackDefinition(DashboardWidgetPowerpackDefinitionArgs.builder()\n .powerpackId(\"00000000-0000-0000-0000-000000000000\")\n .backgroundColor(\"blue\")\n .bannerImg(\"https://example.org/example.png\")\n .showTitle(true)\n .title(\"Powerpack Widget\")\n .templateVariables(DashboardWidgetPowerpackDefinitionTemplateVariablesArgs.builder()\n .controlledExternallies(DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs.builder()\n .name(\"var_2\")\n .values(\"autoscaling\")\n .prefix(\"service_name\")\n .build())\n .controlledByPowerpacks(DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs.builder()\n .name(\"var_3\")\n .prefix(\"timeframe\")\n .values( \n \"default\",\n \"values\",\n \"here\")\n .build())\n .build())\n .build())\n .build())\n .templateVariables( \n DashboardTemplateVariableArgs.builder()\n .name(\"var_1\")\n .prefix(\"host\")\n .default_(\"aws\")\n .build(),\n DashboardTemplateVariableArgs.builder()\n .name(\"var_2\")\n .prefix(\"service_name\")\n .default_(\"autoscaling\")\n .build())\n .templateVariablePresets(DashboardTemplateVariablePresetArgs.builder()\n .name(\"preset_1\")\n .templateVariables( \n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_1\")\n .value(\"host.dc\")\n .build(),\n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_2\")\n .value(\"my_service\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Ordered Layout\n orderedDashboard:\n type: datadog:Dashboard\n name: ordered_dashboard\n properties:\n title: Ordered Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: ordered\n widgets:\n - alertGraphDefinition:\n alertId: '895605'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\n - alertValueDefinition:\n alertId: '895605'\n precision: 3\n unit: b\n textAlign: center\n title: Widget Title\n - alertValueDefinition:\n alertId: '895605'\n precision: 3\n unit: b\n textAlign: center\n title: Widget Title\n - changeDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n changeType: absolute\n compareTo: week_before\n increaseGood: true\n orderBy: name\n orderDir: desc\n showPresent: true\n title: Widget Title\n liveSpan: 1h\n - distributionDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n style:\n palette: warm\n title: Widget Title\n liveSpan: 1h\n - checkStatusDefinition:\n check: aws.ecs.agent_connected\n grouping: cluster\n groupBies:\n - account\n - cluster\n tags:\n - account:demo\n - cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\n title: Widget Title\n liveSpan: 1h\n - heatmapDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n style:\n palette: warm\n yaxis:\n min: 1\n max: 2\n includeZero: true\n scale: sqrt\n title: Widget Title\n liveSpan: 1h\n - hostmapDefinition:\n request:\n fills:\n - q: avg:system.load.1{*} by {host}\n sizes:\n - q: avg:memcache.uptime{*} by {host}\n nodeType: container\n groups:\n - host\n - region\n noGroupHosts: true\n noMetricHosts: true\n scopes:\n - region:us-east-1\n - aws_account:727006795293\n style:\n palette: yellow_to_green\n paletteFlip: true\n fillMin: '10'\n fillMax: '20'\n title: Widget Title\n - noteDefinition:\n content: note text\n backgroundColor: pink\n fontSize: '14'\n textAlign: center\n showTick: true\n tickEdge: left\n tickPos: 50%\n - queryValueDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n aggregator: sum\n conditionalFormats:\n - comparator: \u003c\n value: '2'\n palette: white_on_green\n - comparator: '\u003e'\n value: '2.2'\n palette: white_on_red\n autoscale: true\n customUnit: xx\n precision: '4'\n textAlign: right\n title: Widget Title\n liveSpan: 1h\n - queryTableDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n aggregator: sum\n limit: '10'\n conditionalFormats:\n - comparator: \u003c\n value: '2'\n palette: white_on_green\n - comparator: '\u003e'\n value: '2.2'\n palette: white_on_red\n title: Widget Title\n liveSpan: 1h\n - scatterplotDefinition:\n request:\n xes:\n - q: avg:system.cpu.user{*} by {service, account}\n aggregator: max\n ys:\n - q: avg:system.mem.used{*} by {service, account}\n aggregator: min\n colorByGroups:\n - account\n - apm-role-group\n xaxis:\n includeZero: true\n label: x\n min: '1'\n max: '2000'\n scale: pow\n yaxis:\n includeZero: false\n label: y\n min: '5'\n max: '2222'\n scale: log\n title: Widget Title\n liveSpan: 1h\n - servicemapDefinition:\n service: master-db\n filters:\n - env:prod\n - datacenter:dc1\n title: 'env: prod, datacenter:dc1, service: master-db'\n titleSize: '16'\n titleAlign: left\n - timeseriesDefinition:\n requests:\n - q: avg:system.cpu.user{app:general} by {env}\n displayType: line\n style:\n palette: warm\n lineType: dashed\n lineWidth: thin\n metadatas:\n - expression: avg:system.cpu.user{app:general} by {env}\n aliasName: Alpha\n - logQuery:\n index: mcnulty\n computeQuery:\n aggregation: avg\n facet: '@duration'\n interval: 5000\n searchQuery: status:info\n groupBies:\n - facet: host\n limit: 10\n sortQuery:\n aggregation: avg\n order: desc\n facet: '@duration'\n displayType: area\n - apmQuery:\n index: apm-search\n computeQuery:\n aggregation: avg\n facet: '@duration'\n interval: 5000\n searchQuery: type:web\n groupBies:\n - facet: resource_name\n limit: 50\n sortQuery:\n aggregation: avg\n order: desc\n facet: '@string_query.interval'\n displayType: bars\n - processQuery:\n metric: process.stat.cpu.total_pct\n searchBy: error\n filterBies:\n - active\n limit: 50\n displayType: area\n markers:\n - displayType: error dashed\n label: ' z=6 '\n value: y = 4\n - displayType: ok solid\n value: 10 \u003c y \u003c 999\n label: ' x=8 '\n title: Widget Title\n showLegend: true\n legendSize: '2'\n liveSpan: 1h\n events:\n - q: sources:test tags:1\n - q: sources:test tags:2\n yaxis:\n scale: log\n includeZero: false\n max: 100\n - toplistDefinition:\n requests:\n - q: avg:system.cpu.user{app:general} by {env}\n conditionalFormats:\n - comparator: \u003c\n value: '2'\n palette: white_on_green\n - comparator: '\u003e'\n value: '2.2'\n palette: white_on_red\n title: Widget Title\n - groupDefinition:\n layoutType: ordered\n title: Group Widget\n widgets:\n - noteDefinition:\n content: cluster note widget\n backgroundColor: pink\n fontSize: '14'\n textAlign: center\n showTick: true\n tickEdge: left\n tickPos: 50%\n - alertGraphDefinition:\n alertId: '123'\n vizType: toplist\n title: Alert Graph\n liveSpan: 1h\n - serviceLevelObjectiveDefinition:\n title: Widget Title\n viewType: detail\n sloId: '56789'\n showErrorBudget: true\n viewMode: overall\n timeWindows:\n - 7d\n - previous_week\n templateVariables:\n - name: var_1\n prefix: host\n default: aws\n - name: var_2\n prefix: service_name\n default: autoscaling\n templateVariablePresets:\n - name: preset_1\n templateVariables:\n - name: var_1\n value: host.dc\n - name: var_2\n value: my_service\n # Example Free Layout\n freeDashboard:\n type: datadog:Dashboard\n name: free_dashboard\n properties:\n title: Free Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: free\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 43\n width: 32\n x: 0\n y: 0\n - eventTimelineDefinition:\n query: '*'\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 9\n width: 66\n x: 33\n y: 60\n - freeTextDefinition:\n text: free text content\n color: '#d00'\n fontSize: '36'\n textAlign: left\n widgetLayout:\n height: 20\n width: 34\n x: 33\n y: 0\n - iframeDefinition:\n url: http://google.com\n widgetLayout:\n height: 46\n width: 39\n x: 101\n y: 0\n - imageDefinition:\n url: https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\n sizing: fit\n margin: small\n widgetLayout:\n height: 20\n width: 30\n x: 69\n y: 0\n - logStreamDefinition:\n indexes:\n - main\n query: error\n columns:\n - core_host\n - core_service\n - tag_source\n showDateColumn: true\n showMessageColumn: true\n messageDisplay: expanded-md\n sort:\n column: time\n order: desc\n widgetLayout:\n height: 36\n width: 32\n x: 0\n y: 45\n - manageStatusDefinition:\n colorPreference: text\n displayFormat: countsAndList\n hideZeroCounts: true\n query: type:metric\n showLastTriggered: false\n sort: status,asc\n summaryType: monitors\n title: Widget Title\n titleSize: 16\n titleAlign: left\n widgetLayout:\n height: 40\n width: 30\n x: 101\n y: 48\n - traceServiceDefinition:\n displayFormat: three_column\n env: datadog.com\n service: alerting-cassandra\n showBreakdown: true\n showDistribution: true\n showErrors: true\n showHits: true\n showLatency: false\n showResourceList: false\n sizeFormat: large\n spanName: cassandra.query\n title: 'alerting-cassandra #env:datadog.com'\n titleAlign: center\n titleSize: '13'\n liveSpan: 1h\n widgetLayout:\n height: 38\n width: 66\n x: 33\n y: 21\n - timeseriesDefinition:\n requests:\n - formulas:\n - formulaExpression: my_query_1 + my_query_2\n alias: my ff query\n - formulaExpression: my_query_1 * my_query_2\n limit:\n count: 5\n order: desc\n alias: my second ff query\n queries:\n - metricQuery:\n dataSource: metrics\n query: avg:system.cpu.user{app:general} by {env}\n name: my_query_1\n aggregator: sum\n - metricQuery:\n query: avg:system.cpu.user{app:general} by {env}\n name: my_query_2\n aggregator: sum\n widgetLayout:\n height: 16\n width: 25\n x: 58\n y: 83\n - timeseriesDefinition:\n requests:\n - queries:\n - eventQuery:\n name: my-query\n dataSource: logs\n indexes:\n - days-3\n computes:\n - aggregation: count\n groupBies:\n - facet: host\n sort:\n metric: '@lambda.max_memory_used'\n aggregation: avg\n limit: 10\n - displayType: overlay\n queries:\n - metricQuery:\n name: MyOverlay\n dataSource: metrics\n query: avg:system.cpu.user{host:COMP-QJWVM2FYT4}\n widgetLayout:\n height: 16\n width: 28\n x: 29\n y: 83\n - timeseriesDefinition:\n requests:\n - queries:\n - processQuery:\n dataSource: process\n textFilter: abc\n metric: process.stat.cpu.total_pct\n limit: 10\n tagFilters:\n - some_filter\n name: my_process_query\n sort: asc\n isNormalizedCpu: true\n aggregator: sum\n widgetLayout:\n height: 16\n width: 28\n x: 0\n y: 83\n - timeseriesDefinition:\n requests:\n - formulas:\n - formulaExpression: query1\n alias: my cloud cost query\n queries:\n - cloudCostQuery:\n dataSource: cloud_cost\n query: sum:aws.cost.amortized{*}\n name: query1\n aggregator: sum\n - powerpackDefinition:\n powerpackId: 00000000-0000-0000-0000-000000000000\n backgroundColor: blue\n bannerImg: https://example.org/example.png\n showTitle: true\n title: Powerpack Widget\n templateVariables:\n controlledExternallies:\n - name: var_2\n values:\n - autoscaling\n prefix: service_name\n controlledByPowerpacks:\n - name: var_3\n prefix: timeframe\n values:\n - default\n - values\n - here\n templateVariables:\n - name: var_1\n prefix: host\n default: aws\n - name: var_2\n prefix: service_name\n default: autoscaling\n templateVariablePresets:\n - name: preset_1\n templateVariables:\n - name: var_1\n value: host.dc\n - name: var_2\n value: my_service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/dashboard:Dashboard my_service_dashboard sv7-gyh-kas\n```\n\n", + "description": "Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards.\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 Ordered Layout\nconst orderedDashboard = new datadog.Dashboard(\"ordered_dashboard\", {\n title: \"Ordered Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"ordered\",\n widgets: [\n {\n alertGraphDefinition: {\n alertId: \"895605\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n alertValueDefinition: {\n alertId: \"895605\",\n precision: 3,\n unit: \"b\",\n textAlign: \"center\",\n title: \"Widget Title\",\n },\n },\n {\n alertValueDefinition: {\n alertId: \"895605\",\n precision: 3,\n unit: \"b\",\n textAlign: \"center\",\n title: \"Widget Title\",\n },\n },\n {\n changeDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n changeType: \"absolute\",\n compareTo: \"week_before\",\n increaseGood: true,\n orderBy: \"name\",\n orderDir: \"desc\",\n showPresent: true,\n }],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n distributionDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n style: {\n palette: \"warm\",\n },\n }],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n checkStatusDefinition: {\n check: \"aws.ecs.agent_connected\",\n grouping: \"cluster\",\n groupBies: [\n \"account\",\n \"cluster\",\n ],\n tags: [\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\",\n ],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n heatmapDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n style: {\n palette: \"warm\",\n },\n }],\n yaxis: {\n min: \"1\",\n max: \"2\",\n includeZero: true,\n scale: \"sqrt\",\n },\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n hostmapDefinition: {\n request: {\n fills: [{\n q: \"avg:system.load.1{*} by {host}\",\n }],\n sizes: [{\n q: \"avg:memcache.uptime{*} by {host}\",\n }],\n },\n nodeType: \"container\",\n groups: [\n \"host\",\n \"region\",\n ],\n noGroupHosts: true,\n noMetricHosts: true,\n scopes: [\n \"region:us-east-1\",\n \"aws_account:727006795293\",\n ],\n style: {\n palette: \"yellow_to_green\",\n paletteFlip: true,\n fillMin: \"10\",\n fillMax: \"20\",\n },\n title: \"Widget Title\",\n },\n },\n {\n noteDefinition: {\n content: \"note text\",\n backgroundColor: \"pink\",\n fontSize: \"14\",\n textAlign: \"center\",\n showTick: true,\n tickEdge: \"left\",\n tickPos: \"50%\",\n },\n },\n {\n queryValueDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n aggregator: \"sum\",\n conditionalFormats: [\n {\n comparator: \"\u003c\",\n value: 2,\n palette: \"white_on_green\",\n },\n {\n comparator: \"\u003e\",\n value: 2.2,\n palette: \"white_on_red\",\n },\n ],\n }],\n autoscale: true,\n customUnit: \"xx\",\n precision: 4,\n textAlign: \"right\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n queryTableDefinition: {\n requests: [{\n q: \"avg:system.load.1{env:staging} by {account}\",\n aggregator: \"sum\",\n limit: 10,\n conditionalFormats: [\n {\n comparator: \"\u003c\",\n value: 2,\n palette: \"white_on_green\",\n },\n {\n comparator: \"\u003e\",\n value: 2.2,\n palette: \"white_on_red\",\n },\n ],\n }],\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n scatterplotDefinition: {\n request: {\n xes: [{\n q: \"avg:system.cpu.user{*} by {service, account}\",\n aggregator: \"max\",\n }],\n ys: [{\n q: \"avg:system.mem.used{*} by {service, account}\",\n aggregator: \"min\",\n }],\n },\n colorByGroups: [\n \"account\",\n \"apm-role-group\",\n ],\n xaxis: {\n includeZero: true,\n label: \"x\",\n min: \"1\",\n max: \"2000\",\n scale: \"pow\",\n },\n yaxis: {\n includeZero: false,\n label: \"y\",\n min: \"5\",\n max: \"2222\",\n scale: \"log\",\n },\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n },\n {\n servicemapDefinition: {\n service: \"master-db\",\n filters: [\n \"env:prod\",\n \"datacenter:dc1\",\n ],\n title: \"env: prod, datacenter:dc1, service: master-db\",\n titleSize: \"16\",\n titleAlign: \"left\",\n },\n },\n {\n timeseriesDefinition: {\n requests: [\n {\n q: \"avg:system.cpu.user{app:general} by {env}\",\n displayType: \"line\",\n style: {\n palette: \"warm\",\n lineType: \"dashed\",\n lineWidth: \"thin\",\n },\n metadatas: [{\n expression: \"avg:system.cpu.user{app:general} by {env}\",\n aliasName: \"Alpha\",\n }],\n },\n {\n logQuery: {\n index: \"mcnulty\",\n computeQuery: {\n aggregation: \"avg\",\n facet: \"@duration\",\n interval: 5000,\n },\n searchQuery: \"status:info\",\n groupBies: [{\n facet: \"host\",\n limit: 10,\n sortQuery: {\n aggregation: \"avg\",\n order: \"desc\",\n facet: \"@duration\",\n },\n }],\n },\n displayType: \"area\",\n },\n {\n apmQuery: {\n index: \"apm-search\",\n computeQuery: {\n aggregation: \"avg\",\n facet: \"@duration\",\n interval: 5000,\n },\n searchQuery: \"type:web\",\n groupBies: [{\n facet: \"resource_name\",\n limit: 50,\n sortQuery: {\n aggregation: \"avg\",\n order: \"desc\",\n facet: \"@string_query.interval\",\n },\n }],\n },\n displayType: \"bars\",\n },\n {\n processQuery: {\n metric: \"process.stat.cpu.total_pct\",\n searchBy: \"error\",\n filterBies: [\"active\"],\n limit: 50,\n },\n displayType: \"area\",\n },\n ],\n markers: [\n {\n displayType: \"error dashed\",\n label: \" z=6 \",\n value: \"y = 4\",\n },\n {\n displayType: \"ok solid\",\n value: \"10 \u003c y \u003c 999\",\n label: \" x=8 \",\n },\n ],\n title: \"Widget Title\",\n showLegend: true,\n legendSize: \"2\",\n liveSpan: \"1h\",\n events: [\n {\n q: \"sources:test tags:1\",\n },\n {\n q: \"sources:test tags:2\",\n },\n ],\n yaxis: {\n scale: \"log\",\n includeZero: false,\n max: \"100\",\n },\n },\n },\n {\n toplistDefinition: {\n requests: [{\n q: \"avg:system.cpu.user{app:general} by {env}\",\n conditionalFormats: [\n {\n comparator: \"\u003c\",\n value: 2,\n palette: \"white_on_green\",\n },\n {\n comparator: \"\u003e\",\n value: 2.2,\n palette: \"white_on_red\",\n },\n ],\n }],\n title: \"Widget Title\",\n },\n },\n {\n groupDefinition: {\n layoutType: \"ordered\",\n title: \"Group Widget\",\n widgets: [\n {\n noteDefinition: {\n content: \"cluster note widget\",\n backgroundColor: \"pink\",\n fontSize: \"14\",\n textAlign: \"center\",\n showTick: true,\n tickEdge: \"left\",\n tickPos: \"50%\",\n },\n },\n {\n alertGraphDefinition: {\n alertId: \"123\",\n vizType: \"toplist\",\n title: \"Alert Graph\",\n liveSpan: \"1h\",\n },\n },\n ],\n },\n },\n {\n serviceLevelObjectiveDefinition: {\n title: \"Widget Title\",\n viewType: \"detail\",\n sloId: \"56789\",\n showErrorBudget: true,\n viewMode: \"overall\",\n timeWindows: [\n \"7d\",\n \"previous_week\",\n ],\n },\n },\n ],\n templateVariables: [\n {\n name: \"var_1\",\n prefix: \"host\",\n \"default\": \"aws\",\n },\n {\n name: \"var_2\",\n prefix: \"service_name\",\n \"default\": \"autoscaling\",\n },\n ],\n templateVariablePresets: [{\n name: \"preset_1\",\n templateVariables: [\n {\n name: \"var_1\",\n value: \"host.dc\",\n },\n {\n name: \"var_2\",\n value: \"my_service\",\n },\n ],\n }],\n});\n// Example Free Layout\nconst freeDashboard = new datadog.Dashboard(\"free_dashboard\", {\n title: \"Free Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"free\",\n widgets: [\n {\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 43,\n width: 32,\n x: 0,\n y: 0,\n },\n },\n {\n eventTimelineDefinition: {\n query: \"*\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 9,\n width: 66,\n x: 33,\n y: 60,\n },\n },\n {\n freeTextDefinition: {\n text: \"free text content\",\n color: \"#d00\",\n fontSize: \"36\",\n textAlign: \"left\",\n },\n widgetLayout: {\n height: 20,\n width: 34,\n x: 33,\n y: 0,\n },\n },\n {\n iframeDefinition: {\n url: \"http://google.com\",\n },\n widgetLayout: {\n height: 46,\n width: 39,\n x: 101,\n y: 0,\n },\n },\n {\n imageDefinition: {\n url: \"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\",\n sizing: \"fit\",\n margin: \"small\",\n },\n widgetLayout: {\n height: 20,\n width: 30,\n x: 69,\n y: 0,\n },\n },\n {\n logStreamDefinition: {\n indexes: [\"main\"],\n query: \"error\",\n columns: [\n \"core_host\",\n \"core_service\",\n \"tag_source\",\n ],\n showDateColumn: true,\n showMessageColumn: true,\n messageDisplay: \"expanded-md\",\n sort: {\n column: \"time\",\n order: \"desc\",\n },\n },\n widgetLayout: {\n height: 36,\n width: 32,\n x: 0,\n y: 45,\n },\n },\n {\n manageStatusDefinition: {\n colorPreference: \"text\",\n displayFormat: \"countsAndList\",\n hideZeroCounts: true,\n query: \"type:metric\",\n showLastTriggered: false,\n sort: \"status,asc\",\n summaryType: \"monitors\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n },\n widgetLayout: {\n height: 40,\n width: 30,\n x: 101,\n y: 48,\n },\n },\n {\n traceServiceDefinition: {\n displayFormat: \"three_column\",\n env: \"datadog.com\",\n service: \"alerting-cassandra\",\n showBreakdown: true,\n showDistribution: true,\n showErrors: true,\n showHits: true,\n showLatency: false,\n showResourceList: false,\n sizeFormat: \"large\",\n spanName: \"cassandra.query\",\n title: \"alerting-cassandra #env:datadog.com\",\n titleAlign: \"center\",\n titleSize: \"13\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 38,\n width: 66,\n x: 33,\n y: 21,\n },\n },\n {\n timeseriesDefinition: {\n requests: [{\n formulas: [\n {\n formulaExpression: \"my_query_1 + my_query_2\",\n alias: \"my ff query\",\n },\n {\n formulaExpression: \"my_query_1 * my_query_2\",\n limit: {\n count: 5,\n order: \"desc\",\n },\n alias: \"my second ff query\",\n },\n ],\n queries: [\n {\n metricQuery: {\n dataSource: \"metrics\",\n query: \"avg:system.cpu.user{app:general} by {env}\",\n name: \"my_query_1\",\n aggregator: \"sum\",\n },\n },\n {\n metricQuery: {\n query: \"avg:system.cpu.user{app:general} by {env}\",\n name: \"my_query_2\",\n aggregator: \"sum\",\n },\n },\n ],\n }],\n },\n widgetLayout: {\n height: 16,\n width: 25,\n x: 58,\n y: 83,\n },\n },\n {\n timeseriesDefinition: {\n requests: [\n {\n queries: [{\n eventQuery: {\n name: \"my-query\",\n dataSource: \"logs\",\n indexes: [\"days-3\"],\n computes: [{\n aggregation: \"count\",\n }],\n groupBies: [{\n facet: \"host\",\n sort: {\n metric: \"@lambda.max_memory_used\",\n aggregation: \"avg\",\n },\n limit: 10,\n }],\n },\n }],\n },\n {\n displayType: \"overlay\",\n queries: [{\n metricQuery: {\n name: \"MyOverlay\",\n dataSource: \"metrics\",\n query: \"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\",\n },\n }],\n },\n ],\n },\n widgetLayout: {\n height: 16,\n width: 28,\n x: 29,\n y: 83,\n },\n },\n {\n timeseriesDefinition: {\n requests: [{\n queries: [{\n processQuery: {\n dataSource: \"process\",\n textFilter: \"abc\",\n metric: \"process.stat.cpu.total_pct\",\n limit: 10,\n tagFilters: [\"some_filter\"],\n name: \"my_process_query\",\n sort: \"asc\",\n isNormalizedCpu: true,\n aggregator: \"sum\",\n },\n }],\n }],\n },\n widgetLayout: {\n height: 16,\n width: 28,\n x: 0,\n y: 83,\n },\n },\n {\n timeseriesDefinition: {\n requests: [{\n formulas: [{\n formulaExpression: \"query1\",\n alias: \"my cloud cost query\",\n }],\n queries: [{\n cloudCostQuery: {\n dataSource: \"cloud_cost\",\n query: \"sum:aws.cost.amortized{*}\",\n name: \"query1\",\n aggregator: \"sum\",\n },\n }],\n }],\n },\n },\n {\n powerpackDefinition: {\n powerpackId: \"00000000-0000-0000-0000-000000000000\",\n backgroundColor: \"blue\",\n bannerImg: \"https://example.org/example.png\",\n showTitle: true,\n title: \"Powerpack Widget\",\n templateVariables: {\n controlledExternallies: [{\n name: \"var_2\",\n values: [\"autoscaling\"],\n prefix: \"service_name\",\n }],\n controlledByPowerpacks: [{\n name: \"var_3\",\n prefix: \"timeframe\",\n values: [\n \"default\",\n \"values\",\n \"here\",\n ],\n }],\n },\n },\n },\n ],\n templateVariables: [\n {\n name: \"var_1\",\n prefix: \"host\",\n \"default\": \"aws\",\n },\n {\n name: \"var_2\",\n prefix: \"service_name\",\n \"default\": \"autoscaling\",\n },\n ],\n templateVariablePresets: [{\n name: \"preset_1\",\n templateVariables: [\n {\n name: \"var_1\",\n value: \"host.dc\",\n },\n {\n name: \"var_2\",\n value: \"my_service\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Ordered Layout\nordered_dashboard = datadog.Dashboard(\"ordered_dashboard\",\n title=\"Ordered Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"ordered\",\n widgets=[\n datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"895605\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n alert_value_definition=datadog.DashboardWidgetAlertValueDefinitionArgs(\n alert_id=\"895605\",\n precision=3,\n unit=\"b\",\n text_align=\"center\",\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n alert_value_definition=datadog.DashboardWidgetAlertValueDefinitionArgs(\n alert_id=\"895605\",\n precision=3,\n unit=\"b\",\n text_align=\"center\",\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n change_definition=datadog.DashboardWidgetChangeDefinitionArgs(\n requests=[datadog.DashboardWidgetChangeDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n change_type=\"absolute\",\n compare_to=\"week_before\",\n increase_good=True,\n order_by=\"name\",\n order_dir=\"desc\",\n show_present=True,\n )],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n distribution_definition=datadog.DashboardWidgetDistributionDefinitionArgs(\n requests=[datadog.DashboardWidgetDistributionDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n style=datadog.DashboardWidgetDistributionDefinitionRequestStyleArgs(\n palette=\"warm\",\n ),\n )],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n check_status_definition=datadog.DashboardWidgetCheckStatusDefinitionArgs(\n check=\"aws.ecs.agent_connected\",\n grouping=\"cluster\",\n group_bies=[\n \"account\",\n \"cluster\",\n ],\n tags=[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\",\n ],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n heatmap_definition=datadog.DashboardWidgetHeatmapDefinitionArgs(\n requests=[datadog.DashboardWidgetHeatmapDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n style=datadog.DashboardWidgetHeatmapDefinitionRequestStyleArgs(\n palette=\"warm\",\n ),\n )],\n yaxis=datadog.DashboardWidgetHeatmapDefinitionYaxisArgs(\n min=\"1\",\n max=\"2\",\n include_zero=True,\n scale=\"sqrt\",\n ),\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n hostmap_definition=datadog.DashboardWidgetHostmapDefinitionArgs(\n request=datadog.DashboardWidgetHostmapDefinitionRequestArgs(\n fills=[datadog.DashboardWidgetHostmapDefinitionRequestFillArgs(\n q=\"avg:system.load.1{*} by {host}\",\n )],\n sizes=[datadog.DashboardWidgetHostmapDefinitionRequestSizeArgs(\n q=\"avg:memcache.uptime{*} by {host}\",\n )],\n ),\n node_type=\"container\",\n groups=[\n \"host\",\n \"region\",\n ],\n no_group_hosts=True,\n no_metric_hosts=True,\n scopes=[\n \"region:us-east-1\",\n \"aws_account:727006795293\",\n ],\n style=datadog.DashboardWidgetHostmapDefinitionStyleArgs(\n palette=\"yellow_to_green\",\n palette_flip=True,\n fill_min=\"10\",\n fill_max=\"20\",\n ),\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n note_definition=datadog.DashboardWidgetNoteDefinitionArgs(\n content=\"note text\",\n background_color=\"pink\",\n font_size=\"14\",\n text_align=\"center\",\n show_tick=True,\n tick_edge=\"left\",\n tick_pos=\"50%\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n query_value_definition=datadog.DashboardWidgetQueryValueDefinitionArgs(\n requests=[datadog.DashboardWidgetQueryValueDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n aggregator=\"sum\",\n conditional_formats=[\n datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003c\",\n value=2,\n palette=\"white_on_green\",\n ),\n datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003e\",\n value=2.2,\n palette=\"white_on_red\",\n ),\n ],\n )],\n autoscale=True,\n custom_unit=\"xx\",\n precision=4,\n text_align=\"right\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n query_table_definition=datadog.DashboardWidgetQueryTableDefinitionArgs(\n requests=[datadog.DashboardWidgetQueryTableDefinitionRequestArgs(\n q=\"avg:system.load.1{env:staging} by {account}\",\n aggregator=\"sum\",\n limit=10,\n conditional_formats=[\n datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003c\",\n value=2,\n palette=\"white_on_green\",\n ),\n datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003e\",\n value=2.2,\n palette=\"white_on_red\",\n ),\n ],\n )],\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n scatterplot_definition=datadog.DashboardWidgetScatterplotDefinitionArgs(\n request=datadog.DashboardWidgetScatterplotDefinitionRequestArgs(\n xes=[datadog.DashboardWidgetScatterplotDefinitionRequestXArgs(\n q=\"avg:system.cpu.user{*} by {service, account}\",\n aggregator=\"max\",\n )],\n ys=[datadog.DashboardWidgetScatterplotDefinitionRequestYArgs(\n q=\"avg:system.mem.used{*} by {service, account}\",\n aggregator=\"min\",\n )],\n ),\n color_by_groups=[\n \"account\",\n \"apm-role-group\",\n ],\n xaxis=datadog.DashboardWidgetScatterplotDefinitionXaxisArgs(\n include_zero=True,\n label=\"x\",\n min=\"1\",\n max=\"2000\",\n scale=\"pow\",\n ),\n yaxis=datadog.DashboardWidgetScatterplotDefinitionYaxisArgs(\n include_zero=False,\n label=\"y\",\n min=\"5\",\n max=\"2222\",\n scale=\"log\",\n ),\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n servicemap_definition=datadog.DashboardWidgetServicemapDefinitionArgs(\n service=\"master-db\",\n filters=[\n \"env:prod\",\n \"datacenter:dc1\",\n ],\n title=\"env: prod, datacenter:dc1, service: master-db\",\n title_size=\"16\",\n title_align=\"left\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n q=\"avg:system.cpu.user{app:general} by {env}\",\n display_type=\"line\",\n style=datadog.DashboardWidgetTimeseriesDefinitionRequestStyleArgs(\n palette=\"warm\",\n line_type=\"dashed\",\n line_width=\"thin\",\n ),\n metadatas=[datadog.DashboardWidgetTimeseriesDefinitionRequestMetadataArgs(\n expression=\"avg:system.cpu.user{app:general} by {env}\",\n alias_name=\"Alpha\",\n )],\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n log_query=datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs(\n index=\"mcnulty\",\n compute_query=datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs(\n aggregation=\"avg\",\n facet=\"@duration\",\n interval=5000,\n ),\n search_query=\"status:info\",\n group_bies=[datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs(\n facet=\"host\",\n limit=10,\n sort_query=datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs(\n aggregation=\"avg\",\n order=\"desc\",\n facet=\"@duration\",\n ),\n )],\n ),\n display_type=\"area\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n apm_query=datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs(\n index=\"apm-search\",\n compute_query=datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs(\n aggregation=\"avg\",\n facet=\"@duration\",\n interval=5000,\n ),\n search_query=\"type:web\",\n group_bies=[datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs(\n facet=\"resource_name\",\n limit=50,\n sort_query=datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs(\n aggregation=\"avg\",\n order=\"desc\",\n facet=\"@string_query.interval\",\n ),\n )],\n ),\n display_type=\"bars\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n process_query=datadog.DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs(\n metric=\"process.stat.cpu.total_pct\",\n search_by=\"error\",\n filter_bies=[\"active\"],\n limit=50,\n ),\n display_type=\"area\",\n ),\n ],\n markers=[\n datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs(\n display_type=\"error dashed\",\n label=\" z=6 \",\n value=\"y = 4\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs(\n display_type=\"ok solid\",\n value=\"10 \u003c y \u003c 999\",\n label=\" x=8 \",\n ),\n ],\n title=\"Widget Title\",\n show_legend=True,\n legend_size=\"2\",\n live_span=\"1h\",\n events=[\n datadog.DashboardWidgetTimeseriesDefinitionEventArgs(\n q=\"sources:test tags:1\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionEventArgs(\n q=\"sources:test tags:2\",\n ),\n ],\n yaxis=datadog.DashboardWidgetTimeseriesDefinitionYaxisArgs(\n scale=\"log\",\n include_zero=False,\n max=\"100\",\n ),\n ),\n ),\n datadog.DashboardWidgetArgs(\n toplist_definition=datadog.DashboardWidgetToplistDefinitionArgs(\n requests=[datadog.DashboardWidgetToplistDefinitionRequestArgs(\n q=\"avg:system.cpu.user{app:general} by {env}\",\n conditional_formats=[\n datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003c\",\n value=2,\n palette=\"white_on_green\",\n ),\n datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs(\n comparator=\"\u003e\",\n value=2.2,\n palette=\"white_on_red\",\n ),\n ],\n )],\n title=\"Widget Title\",\n ),\n ),\n datadog.DashboardWidgetArgs(\n group_definition=datadog.DashboardWidgetGroupDefinitionArgs(\n layout_type=\"ordered\",\n title=\"Group Widget\",\n widgets=[\n datadog.DashboardWidgetGroupDefinitionWidgetArgs(\n note_definition=datadog.DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs(\n content=\"cluster note widget\",\n background_color=\"pink\",\n font_size=\"14\",\n text_align=\"center\",\n show_tick=True,\n tick_edge=\"left\",\n tick_pos=\"50%\",\n ),\n ),\n datadog.DashboardWidgetGroupDefinitionWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs(\n alert_id=\"123\",\n viz_type=\"toplist\",\n title=\"Alert Graph\",\n live_span=\"1h\",\n ),\n ),\n ],\n ),\n ),\n datadog.DashboardWidgetArgs(\n service_level_objective_definition=datadog.DashboardWidgetServiceLevelObjectiveDefinitionArgs(\n title=\"Widget Title\",\n view_type=\"detail\",\n slo_id=\"56789\",\n show_error_budget=True,\n view_mode=\"overall\",\n time_windows=[\n \"7d\",\n \"previous_week\",\n ],\n ),\n ),\n ],\n template_variables=[\n datadog.DashboardTemplateVariableArgs(\n name=\"var_1\",\n prefix=\"host\",\n default=\"aws\",\n ),\n datadog.DashboardTemplateVariableArgs(\n name=\"var_2\",\n prefix=\"service_name\",\n default=\"autoscaling\",\n ),\n ],\n template_variable_presets=[datadog.DashboardTemplateVariablePresetArgs(\n name=\"preset_1\",\n template_variables=[\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_1\",\n value=\"host.dc\",\n ),\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_2\",\n value=\"my_service\",\n ),\n ],\n )])\n# Example Free Layout\nfree_dashboard = datadog.Dashboard(\"free_dashboard\",\n title=\"Free Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"free\",\n widgets=[\n datadog.DashboardWidgetArgs(\n event_stream_definition=datadog.DashboardWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=43,\n width=32,\n x=0,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n event_timeline_definition=datadog.DashboardWidgetEventTimelineDefinitionArgs(\n query=\"*\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=9,\n width=66,\n x=33,\n y=60,\n ),\n ),\n datadog.DashboardWidgetArgs(\n free_text_definition=datadog.DashboardWidgetFreeTextDefinitionArgs(\n text=\"free text content\",\n color=\"#d00\",\n font_size=\"36\",\n text_align=\"left\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=20,\n width=34,\n x=33,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n iframe_definition=datadog.DashboardWidgetIframeDefinitionArgs(\n url=\"http://google.com\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=46,\n width=39,\n x=101,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n image_definition=datadog.DashboardWidgetImageDefinitionArgs(\n url=\"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\",\n sizing=\"fit\",\n margin=\"small\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=20,\n width=30,\n x=69,\n y=0,\n ),\n ),\n datadog.DashboardWidgetArgs(\n log_stream_definition=datadog.DashboardWidgetLogStreamDefinitionArgs(\n indexes=[\"main\"],\n query=\"error\",\n columns=[\n \"core_host\",\n \"core_service\",\n \"tag_source\",\n ],\n show_date_column=True,\n show_message_column=True,\n message_display=\"expanded-md\",\n sort=datadog.DashboardWidgetLogStreamDefinitionSortArgs(\n column=\"time\",\n order=\"desc\",\n ),\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=36,\n width=32,\n x=0,\n y=45,\n ),\n ),\n datadog.DashboardWidgetArgs(\n manage_status_definition=datadog.DashboardWidgetManageStatusDefinitionArgs(\n color_preference=\"text\",\n display_format=\"countsAndList\",\n hide_zero_counts=True,\n query=\"type:metric\",\n show_last_triggered=False,\n sort=\"status,asc\",\n summary_type=\"monitors\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=40,\n width=30,\n x=101,\n y=48,\n ),\n ),\n datadog.DashboardWidgetArgs(\n trace_service_definition=datadog.DashboardWidgetTraceServiceDefinitionArgs(\n display_format=\"three_column\",\n env=\"datadog.com\",\n service=\"alerting-cassandra\",\n show_breakdown=True,\n show_distribution=True,\n show_errors=True,\n show_hits=True,\n show_latency=False,\n show_resource_list=False,\n size_format=\"large\",\n span_name=\"cassandra.query\",\n title=\"alerting-cassandra #env:datadog.com\",\n title_align=\"center\",\n title_size=\"13\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=38,\n width=66,\n x=33,\n y=21,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n formulas=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs(\n formula_expression=\"my_query_1 + my_query_2\",\n alias=\"my ff query\",\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs(\n formula_expression=\"my_query_1 * my_query_2\",\n limit=datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs(\n count=5,\n order=\"desc\",\n ),\n alias=\"my second ff query\",\n ),\n ],\n queries=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n metric_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs(\n data_source=\"metrics\",\n query=\"avg:system.cpu.user{app:general} by {env}\",\n name=\"my_query_1\",\n aggregator=\"sum\",\n ),\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n metric_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs(\n query=\"avg:system.cpu.user{app:general} by {env}\",\n name=\"my_query_2\",\n aggregator=\"sum\",\n ),\n ),\n ],\n )],\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=16,\n width=25,\n x=58,\n y=83,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n event_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs(\n name=\"my-query\",\n data_source=\"logs\",\n indexes=[\"days-3\"],\n computes=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs(\n aggregation=\"count\",\n )],\n group_bies=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs(\n facet=\"host\",\n sort=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs(\n metric=\"@lambda.max_memory_used\",\n aggregation=\"avg\",\n ),\n limit=10,\n )],\n ),\n )],\n ),\n datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n display_type=\"overlay\",\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n metric_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs(\n name=\"MyOverlay\",\n data_source=\"metrics\",\n query=\"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\",\n ),\n )],\n ),\n ],\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=16,\n width=28,\n x=29,\n y=83,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n process_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs(\n data_source=\"process\",\n text_filter=\"abc\",\n metric=\"process.stat.cpu.total_pct\",\n limit=10,\n tag_filters=[\"some_filter\"],\n name=\"my_process_query\",\n sort=\"asc\",\n is_normalized_cpu=True,\n aggregator=\"sum\",\n ),\n )],\n )],\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=16,\n width=28,\n x=0,\n y=83,\n ),\n ),\n datadog.DashboardWidgetArgs(\n timeseries_definition=datadog.DashboardWidgetTimeseriesDefinitionArgs(\n requests=[datadog.DashboardWidgetTimeseriesDefinitionRequestArgs(\n formulas=[datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs(\n formula_expression=\"query1\",\n alias=\"my cloud cost query\",\n )],\n queries=[datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs(\n cloud_cost_query=datadog.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs(\n data_source=\"cloud_cost\",\n query=\"sum:aws.cost.amortized{*}\",\n name=\"query1\",\n aggregator=\"sum\",\n ),\n )],\n )],\n ),\n ),\n datadog.DashboardWidgetArgs(\n powerpack_definition=datadog.DashboardWidgetPowerpackDefinitionArgs(\n powerpack_id=\"00000000-0000-0000-0000-000000000000\",\n background_color=\"blue\",\n banner_img=\"https://example.org/example.png\",\n show_title=True,\n title=\"Powerpack Widget\",\n template_variables=datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs(\n controlled_externallies=[datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs(\n name=\"var_2\",\n values=[\"autoscaling\"],\n prefix=\"service_name\",\n )],\n controlled_by_powerpacks=[datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs(\n name=\"var_3\",\n prefix=\"timeframe\",\n values=[\n \"default\",\n \"values\",\n \"here\",\n ],\n )],\n ),\n ),\n ),\n ],\n template_variables=[\n datadog.DashboardTemplateVariableArgs(\n name=\"var_1\",\n prefix=\"host\",\n default=\"aws\",\n ),\n datadog.DashboardTemplateVariableArgs(\n name=\"var_2\",\n prefix=\"service_name\",\n default=\"autoscaling\",\n ),\n ],\n template_variable_presets=[datadog.DashboardTemplateVariablePresetArgs(\n name=\"preset_1\",\n template_variables=[\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_1\",\n value=\"host.dc\",\n ),\n datadog.DashboardTemplateVariablePresetTemplateVariableArgs(\n name=\"var_2\",\n value=\"my_service\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Ordered Layout\n var orderedDashboard = new Datadog.Dashboard(\"ordered_dashboard\", new()\n {\n Title = \"Ordered Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"ordered\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"895605\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertValueDefinition = new Datadog.Inputs.DashboardWidgetAlertValueDefinitionArgs\n {\n AlertId = \"895605\",\n Precision = 3,\n Unit = \"b\",\n TextAlign = \"center\",\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertValueDefinition = new Datadog.Inputs.DashboardWidgetAlertValueDefinitionArgs\n {\n AlertId = \"895605\",\n Precision = 3,\n Unit = \"b\",\n TextAlign = \"center\",\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ChangeDefinition = new Datadog.Inputs.DashboardWidgetChangeDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetChangeDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n ChangeType = \"absolute\",\n CompareTo = \"week_before\",\n IncreaseGood = true,\n OrderBy = \"name\",\n OrderDir = \"desc\",\n ShowPresent = true,\n },\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n DistributionDefinition = new Datadog.Inputs.DashboardWidgetDistributionDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetDistributionDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Style = new Datadog.Inputs.DashboardWidgetDistributionDefinitionRequestStyleArgs\n {\n Palette = \"warm\",\n },\n },\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n CheckStatusDefinition = new Datadog.Inputs.DashboardWidgetCheckStatusDefinitionArgs\n {\n Check = \"aws.ecs.agent_connected\",\n Grouping = \"cluster\",\n GroupBies = new[]\n {\n \"account\",\n \"cluster\",\n },\n Tags = new[]\n {\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\",\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n HeatmapDefinition = new Datadog.Inputs.DashboardWidgetHeatmapDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetHeatmapDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Style = new Datadog.Inputs.DashboardWidgetHeatmapDefinitionRequestStyleArgs\n {\n Palette = \"warm\",\n },\n },\n },\n Yaxis = new Datadog.Inputs.DashboardWidgetHeatmapDefinitionYaxisArgs\n {\n Min = \"1\",\n Max = \"2\",\n IncludeZero = true,\n Scale = \"sqrt\",\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n HostmapDefinition = new Datadog.Inputs.DashboardWidgetHostmapDefinitionArgs\n {\n Request = new Datadog.Inputs.DashboardWidgetHostmapDefinitionRequestArgs\n {\n Fills = new[]\n {\n new Datadog.Inputs.DashboardWidgetHostmapDefinitionRequestFillArgs\n {\n Q = \"avg:system.load.1{*} by {host}\",\n },\n },\n Sizes = new[]\n {\n new Datadog.Inputs.DashboardWidgetHostmapDefinitionRequestSizeArgs\n {\n Q = \"avg:memcache.uptime{*} by {host}\",\n },\n },\n },\n NodeType = \"container\",\n Groups = new[]\n {\n \"host\",\n \"region\",\n },\n NoGroupHosts = true,\n NoMetricHosts = true,\n Scopes = new[]\n {\n \"region:us-east-1\",\n \"aws_account:727006795293\",\n },\n Style = new Datadog.Inputs.DashboardWidgetHostmapDefinitionStyleArgs\n {\n Palette = \"yellow_to_green\",\n PaletteFlip = true,\n FillMin = \"10\",\n FillMax = \"20\",\n },\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n NoteDefinition = new Datadog.Inputs.DashboardWidgetNoteDefinitionArgs\n {\n Content = \"note text\",\n BackgroundColor = \"pink\",\n FontSize = \"14\",\n TextAlign = \"center\",\n ShowTick = true,\n TickEdge = \"left\",\n TickPos = \"50%\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n QueryValueDefinition = new Datadog.Inputs.DashboardWidgetQueryValueDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryValueDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Aggregator = \"sum\",\n ConditionalFormats = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003c\",\n Value = 2,\n Palette = \"white_on_green\",\n },\n new Datadog.Inputs.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003e\",\n Value = 2.2,\n Palette = \"white_on_red\",\n },\n },\n },\n },\n Autoscale = true,\n CustomUnit = \"xx\",\n Precision = 4,\n TextAlign = \"right\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n QueryTableDefinition = new Datadog.Inputs.DashboardWidgetQueryTableDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryTableDefinitionRequestArgs\n {\n Q = \"avg:system.load.1{env:staging} by {account}\",\n Aggregator = \"sum\",\n Limit = 10,\n ConditionalFormats = new[]\n {\n new Datadog.Inputs.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003c\",\n Value = 2,\n Palette = \"white_on_green\",\n },\n new Datadog.Inputs.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003e\",\n Value = 2.2,\n Palette = \"white_on_red\",\n },\n },\n },\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ScatterplotDefinition = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionArgs\n {\n Request = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionRequestArgs\n {\n Xes = new[]\n {\n new Datadog.Inputs.DashboardWidgetScatterplotDefinitionRequestXArgs\n {\n Q = \"avg:system.cpu.user{*} by {service, account}\",\n Aggregator = \"max\",\n },\n },\n Ys = new[]\n {\n new Datadog.Inputs.DashboardWidgetScatterplotDefinitionRequestYArgs\n {\n Q = \"avg:system.mem.used{*} by {service, account}\",\n Aggregator = \"min\",\n },\n },\n },\n ColorByGroups = new[]\n {\n \"account\",\n \"apm-role-group\",\n },\n Xaxis = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionXaxisArgs\n {\n IncludeZero = true,\n Label = \"x\",\n Min = \"1\",\n Max = \"2000\",\n Scale = \"pow\",\n },\n Yaxis = new Datadog.Inputs.DashboardWidgetScatterplotDefinitionYaxisArgs\n {\n IncludeZero = false,\n Label = \"y\",\n Min = \"5\",\n Max = \"2222\",\n Scale = \"log\",\n },\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ServicemapDefinition = new Datadog.Inputs.DashboardWidgetServicemapDefinitionArgs\n {\n Service = \"master-db\",\n Filters = new[]\n {\n \"env:prod\",\n \"datacenter:dc1\",\n },\n Title = \"env: prod, datacenter:dc1, service: master-db\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Q = \"avg:system.cpu.user{app:general} by {env}\",\n DisplayType = \"line\",\n Style = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestStyleArgs\n {\n Palette = \"warm\",\n LineType = \"dashed\",\n LineWidth = \"thin\",\n },\n Metadatas = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestMetadataArgs\n {\n Expression = \"avg:system.cpu.user{app:general} by {env}\",\n AliasName = \"Alpha\",\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n LogQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs\n {\n Index = \"mcnulty\",\n ComputeQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs\n {\n Aggregation = \"avg\",\n Facet = \"@duration\",\n Interval = 5000,\n },\n SearchQuery = \"status:info\",\n GroupBies = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs\n {\n Facet = \"host\",\n Limit = 10,\n SortQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs\n {\n Aggregation = \"avg\",\n Order = \"desc\",\n Facet = \"@duration\",\n },\n },\n },\n },\n DisplayType = \"area\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n ApmQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs\n {\n Index = \"apm-search\",\n ComputeQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs\n {\n Aggregation = \"avg\",\n Facet = \"@duration\",\n Interval = 5000,\n },\n SearchQuery = \"type:web\",\n GroupBies = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs\n {\n Facet = \"resource_name\",\n Limit = 50,\n SortQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs\n {\n Aggregation = \"avg\",\n Order = \"desc\",\n Facet = \"@string_query.interval\",\n },\n },\n },\n },\n DisplayType = \"bars\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n ProcessQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs\n {\n Metric = \"process.stat.cpu.total_pct\",\n SearchBy = \"error\",\n FilterBies = new[]\n {\n \"active\",\n },\n Limit = 50,\n },\n DisplayType = \"area\",\n },\n },\n Markers = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionMarkerArgs\n {\n DisplayType = \"error dashed\",\n Label = \" z=6 \",\n Value = \"y = 4\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionMarkerArgs\n {\n DisplayType = \"ok solid\",\n Value = \"10 \u003c y \u003c 999\",\n Label = \" x=8 \",\n },\n },\n Title = \"Widget Title\",\n ShowLegend = true,\n LegendSize = \"2\",\n LiveSpan = \"1h\",\n Events = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionEventArgs\n {\n Q = \"sources:test tags:1\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionEventArgs\n {\n Q = \"sources:test tags:2\",\n },\n },\n Yaxis = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionYaxisArgs\n {\n Scale = \"log\",\n IncludeZero = false,\n Max = \"100\",\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ToplistDefinition = new Datadog.Inputs.DashboardWidgetToplistDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetToplistDefinitionRequestArgs\n {\n Q = \"avg:system.cpu.user{app:general} by {env}\",\n ConditionalFormats = new[]\n {\n new Datadog.Inputs.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003c\",\n Value = 2,\n Palette = \"white_on_green\",\n },\n new Datadog.Inputs.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs\n {\n Comparator = \"\u003e\",\n Value = 2.2,\n Palette = \"white_on_red\",\n },\n },\n },\n },\n Title = \"Widget Title\",\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n GroupDefinition = new Datadog.Inputs.DashboardWidgetGroupDefinitionArgs\n {\n LayoutType = \"ordered\",\n Title = \"Group Widget\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetArgs\n {\n NoteDefinition = new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs\n {\n Content = \"cluster note widget\",\n BackgroundColor = \"pink\",\n FontSize = \"14\",\n TextAlign = \"center\",\n ShowTick = true,\n TickEdge = \"left\",\n TickPos = \"50%\",\n },\n },\n new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"123\",\n VizType = \"toplist\",\n Title = \"Alert Graph\",\n LiveSpan = \"1h\",\n },\n },\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ServiceLevelObjectiveDefinition = new Datadog.Inputs.DashboardWidgetServiceLevelObjectiveDefinitionArgs\n {\n Title = \"Widget Title\",\n ViewType = \"detail\",\n SloId = \"56789\",\n ShowErrorBudget = true,\n ViewMode = \"overall\",\n TimeWindows = new[]\n {\n \"7d\",\n \"previous_week\",\n },\n },\n },\n },\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_1\",\n Prefix = \"host\",\n Default = \"aws\",\n },\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_2\",\n Prefix = \"service_name\",\n Default = \"autoscaling\",\n },\n },\n TemplateVariablePresets = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetArgs\n {\n Name = \"preset_1\",\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_1\",\n Value = \"host.dc\",\n },\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_2\",\n Value = \"my_service\",\n },\n },\n },\n },\n });\n\n // Example Free Layout\n var freeDashboard = new Datadog.Dashboard(\"free_dashboard\", new()\n {\n Title = \"Free Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"free\",\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.DashboardWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 43,\n Width = 32,\n X = 0,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventTimelineDefinition = new Datadog.Inputs.DashboardWidgetEventTimelineDefinitionArgs\n {\n Query = \"*\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 9,\n Width = 66,\n X = 33,\n Y = 60,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n FreeTextDefinition = new Datadog.Inputs.DashboardWidgetFreeTextDefinitionArgs\n {\n Text = \"free text content\",\n Color = \"#d00\",\n FontSize = \"36\",\n TextAlign = \"left\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 20,\n Width = 34,\n X = 33,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n IframeDefinition = new Datadog.Inputs.DashboardWidgetIframeDefinitionArgs\n {\n Url = \"http://google.com\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 46,\n Width = 39,\n X = 101,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ImageDefinition = new Datadog.Inputs.DashboardWidgetImageDefinitionArgs\n {\n Url = \"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\",\n Sizing = \"fit\",\n Margin = \"small\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 20,\n Width = 30,\n X = 69,\n Y = 0,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n LogStreamDefinition = new Datadog.Inputs.DashboardWidgetLogStreamDefinitionArgs\n {\n Indexes = new[]\n {\n \"main\",\n },\n Query = \"error\",\n Columns = new[]\n {\n \"core_host\",\n \"core_service\",\n \"tag_source\",\n },\n ShowDateColumn = true,\n ShowMessageColumn = true,\n MessageDisplay = \"expanded-md\",\n Sort = new Datadog.Inputs.DashboardWidgetLogStreamDefinitionSortArgs\n {\n Column = \"time\",\n Order = \"desc\",\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 36,\n Width = 32,\n X = 0,\n Y = 45,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n ManageStatusDefinition = new Datadog.Inputs.DashboardWidgetManageStatusDefinitionArgs\n {\n ColorPreference = \"text\",\n DisplayFormat = \"countsAndList\",\n HideZeroCounts = true,\n Query = \"type:metric\",\n ShowLastTriggered = false,\n Sort = \"status,asc\",\n SummaryType = \"monitors\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 40,\n Width = 30,\n X = 101,\n Y = 48,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TraceServiceDefinition = new Datadog.Inputs.DashboardWidgetTraceServiceDefinitionArgs\n {\n DisplayFormat = \"three_column\",\n Env = \"datadog.com\",\n Service = \"alerting-cassandra\",\n ShowBreakdown = true,\n ShowDistribution = true,\n ShowErrors = true,\n ShowHits = true,\n ShowLatency = false,\n ShowResourceList = false,\n SizeFormat = \"large\",\n SpanName = \"cassandra.query\",\n Title = \"alerting-cassandra #env:datadog.com\",\n TitleAlign = \"center\",\n TitleSize = \"13\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 38,\n Width = 66,\n X = 33,\n Y = 21,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Formulas = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs\n {\n FormulaExpression = \"my_query_1 + my_query_2\",\n Alias = \"my ff query\",\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs\n {\n FormulaExpression = \"my_query_1 * my_query_2\",\n Limit = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs\n {\n Count = 5,\n Order = \"desc\",\n },\n Alias = \"my second ff query\",\n },\n },\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n MetricQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs\n {\n DataSource = \"metrics\",\n Query = \"avg:system.cpu.user{app:general} by {env}\",\n Name = \"my_query_1\",\n Aggregator = \"sum\",\n },\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n MetricQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs\n {\n Query = \"avg:system.cpu.user{app:general} by {env}\",\n Name = \"my_query_2\",\n Aggregator = \"sum\",\n },\n },\n },\n },\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 16,\n Width = 25,\n X = 58,\n Y = 83,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n EventQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs\n {\n Name = \"my-query\",\n DataSource = \"logs\",\n Indexes = new[]\n {\n \"days-3\",\n },\n Computes = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs\n {\n Aggregation = \"count\",\n },\n },\n GroupBies = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs\n {\n Facet = \"host\",\n Sort = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs\n {\n Metric = \"@lambda.max_memory_used\",\n Aggregation = \"avg\",\n },\n Limit = 10,\n },\n },\n },\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n DisplayType = \"overlay\",\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n MetricQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs\n {\n Name = \"MyOverlay\",\n DataSource = \"metrics\",\n Query = \"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\",\n },\n },\n },\n },\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 16,\n Width = 28,\n X = 29,\n Y = 83,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n ProcessQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs\n {\n DataSource = \"process\",\n TextFilter = \"abc\",\n Metric = \"process.stat.cpu.total_pct\",\n Limit = 10,\n TagFilters = new[]\n {\n \"some_filter\",\n },\n Name = \"my_process_query\",\n Sort = \"asc\",\n IsNormalizedCpu = true,\n Aggregator = \"sum\",\n },\n },\n },\n },\n },\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 16,\n Width = 28,\n X = 0,\n Y = 83,\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n TimeseriesDefinition = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionArgs\n {\n Requests = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestArgs\n {\n Formulas = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs\n {\n FormulaExpression = \"query1\",\n Alias = \"my cloud cost query\",\n },\n },\n Queries = new[]\n {\n new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryArgs\n {\n CloudCostQuery = new Datadog.Inputs.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs\n {\n DataSource = \"cloud_cost\",\n Query = \"sum:aws.cost.amortized{*}\",\n Name = \"query1\",\n Aggregator = \"sum\",\n },\n },\n },\n },\n },\n },\n },\n new Datadog.Inputs.DashboardWidgetArgs\n {\n PowerpackDefinition = new Datadog.Inputs.DashboardWidgetPowerpackDefinitionArgs\n {\n PowerpackId = \"00000000-0000-0000-0000-000000000000\",\n BackgroundColor = \"blue\",\n BannerImg = \"https://example.org/example.png\",\n ShowTitle = true,\n Title = \"Powerpack Widget\",\n TemplateVariables = new Datadog.Inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs\n {\n ControlledExternallies = new[]\n {\n new Datadog.Inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs\n {\n Name = \"var_2\",\n Values = new[]\n {\n \"autoscaling\",\n },\n Prefix = \"service_name\",\n },\n },\n ControlledByPowerpacks = new[]\n {\n new Datadog.Inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs\n {\n Name = \"var_3\",\n Prefix = \"timeframe\",\n Values = new[]\n {\n \"default\",\n \"values\",\n \"here\",\n },\n },\n },\n },\n },\n },\n },\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_1\",\n Prefix = \"host\",\n Default = \"aws\",\n },\n new Datadog.Inputs.DashboardTemplateVariableArgs\n {\n Name = \"var_2\",\n Prefix = \"service_name\",\n Default = \"autoscaling\",\n },\n },\n TemplateVariablePresets = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetArgs\n {\n Name = \"preset_1\",\n TemplateVariables = new[]\n {\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_1\",\n Value = \"host.dc\",\n },\n new Datadog.Inputs.DashboardTemplateVariablePresetTemplateVariableArgs\n {\n Name = \"var_2\",\n Value = \"my_service\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Ordered Layout\n\t\t_, err := datadog.NewDashboard(ctx, \"ordered_dashboard\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"Ordered Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"895605\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertValueDefinition: \u0026datadog.DashboardWidgetAlertValueDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"895605\"),\n\t\t\t\t\t\tPrecision: pulumi.Int(3),\n\t\t\t\t\t\tUnit: pulumi.String(\"b\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertValueDefinition: \u0026datadog.DashboardWidgetAlertValueDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"895605\"),\n\t\t\t\t\t\tPrecision: pulumi.Int(3),\n\t\t\t\t\t\tUnit: pulumi.String(\"b\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tChangeDefinition: \u0026datadog.DashboardWidgetChangeDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetChangeDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetChangeDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tChangeType: pulumi.String(\"absolute\"),\n\t\t\t\t\t\t\t\tCompareTo: pulumi.String(\"week_before\"),\n\t\t\t\t\t\t\t\tIncreaseGood: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tOrderBy: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tOrderDir: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\tShowPresent: pulumi.Bool(true),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tDistributionDefinition: \u0026datadog.DashboardWidgetDistributionDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetDistributionDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetDistributionDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetDistributionDefinitionRequestStyleArgs{\n\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"warm\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tCheckStatusDefinition: \u0026datadog.DashboardWidgetCheckStatusDefinitionArgs{\n\t\t\t\t\t\tCheck: pulumi.String(\"aws.ecs.agent_connected\"),\n\t\t\t\t\t\tGrouping: pulumi.String(\"cluster\"),\n\t\t\t\t\t\tGroupBies: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"account\"),\n\t\t\t\t\t\t\tpulumi.String(\"cluster\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"account:demo\"),\n\t\t\t\t\t\t\tpulumi.String(\"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tHeatmapDefinition: \u0026datadog.DashboardWidgetHeatmapDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetHeatmapDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetHeatmapDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetHeatmapDefinitionRequestStyleArgs{\n\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"warm\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tYaxis: \u0026datadog.DashboardWidgetHeatmapDefinitionYaxisArgs{\n\t\t\t\t\t\t\tMin: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tMax: pulumi.String(\"2\"),\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(true),\n\t\t\t\t\t\t\tScale: pulumi.String(\"sqrt\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tHostmapDefinition: \u0026datadog.DashboardWidgetHostmapDefinitionArgs{\n\t\t\t\t\t\tRequest: \u0026datadog.DashboardWidgetHostmapDefinitionRequestArgs{\n\t\t\t\t\t\t\tFills: datadog.DashboardWidgetHostmapDefinitionRequestFillArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetHostmapDefinitionRequestFillArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{*} by {host}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSizes: datadog.DashboardWidgetHostmapDefinitionRequestSizeArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetHostmapDefinitionRequestSizeArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:memcache.uptime{*} by {host}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNodeType: pulumi.String(\"container\"),\n\t\t\t\t\t\tGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"host\"),\n\t\t\t\t\t\t\tpulumi.String(\"region\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNoGroupHosts: pulumi.Bool(true),\n\t\t\t\t\t\tNoMetricHosts: pulumi.Bool(true),\n\t\t\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"region:us-east-1\"),\n\t\t\t\t\t\t\tpulumi.String(\"aws_account:727006795293\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetHostmapDefinitionStyleArgs{\n\t\t\t\t\t\t\tPalette: pulumi.String(\"yellow_to_green\"),\n\t\t\t\t\t\t\tPaletteFlip: pulumi.Bool(true),\n\t\t\t\t\t\t\tFillMin: pulumi.String(\"10\"),\n\t\t\t\t\t\t\tFillMax: pulumi.String(\"20\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tNoteDefinition: \u0026datadog.DashboardWidgetNoteDefinitionArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"note text\"),\n\t\t\t\t\t\tBackgroundColor: pulumi.String(\"pink\"),\n\t\t\t\t\t\tFontSize: pulumi.String(\"14\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tShowTick: pulumi.Bool(true),\n\t\t\t\t\t\tTickEdge: pulumi.String(\"left\"),\n\t\t\t\t\t\tTickPos: pulumi.String(\"50%\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tQueryValueDefinition: \u0026datadog.DashboardWidgetQueryValueDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetQueryValueDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryValueDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\tConditionalFormats: datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003c\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_green\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2.2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_red\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAutoscale: pulumi.Bool(true),\n\t\t\t\t\t\tCustomUnit: pulumi.String(\"xx\"),\n\t\t\t\t\t\tPrecision: pulumi.Int(4),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"right\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tQueryTableDefinition: \u0026datadog.DashboardWidgetQueryTableDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetQueryTableDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryTableDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.load.1{env:staging} by {account}\"),\n\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\tConditionalFormats: datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003c\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_green\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2.2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_red\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tScatterplotDefinition: \u0026datadog.DashboardWidgetScatterplotDefinitionArgs{\n\t\t\t\t\t\tRequest: \u0026datadog.DashboardWidgetScatterplotDefinitionRequestArgs{\n\t\t\t\t\t\t\tXes: datadog.DashboardWidgetScatterplotDefinitionRequestXArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetScatterplotDefinitionRequestXArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.cpu.user{*} by {service, account}\"),\n\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"max\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tYs: datadog.DashboardWidgetScatterplotDefinitionRequestYArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetScatterplotDefinitionRequestYArgs{\n\t\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.mem.used{*} by {service, account}\"),\n\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"min\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tColorByGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"account\"),\n\t\t\t\t\t\t\tpulumi.String(\"apm-role-group\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tXaxis: \u0026datadog.DashboardWidgetScatterplotDefinitionXaxisArgs{\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(true),\n\t\t\t\t\t\t\tLabel: pulumi.String(\"x\"),\n\t\t\t\t\t\t\tMin: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tMax: pulumi.String(\"2000\"),\n\t\t\t\t\t\t\tScale: pulumi.String(\"pow\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tYaxis: \u0026datadog.DashboardWidgetScatterplotDefinitionYaxisArgs{\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(false),\n\t\t\t\t\t\t\tLabel: pulumi.String(\"y\"),\n\t\t\t\t\t\t\tMin: pulumi.String(\"5\"),\n\t\t\t\t\t\t\tMax: pulumi.String(\"2222\"),\n\t\t\t\t\t\t\tScale: pulumi.String(\"log\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tServicemapDefinition: \u0026datadog.DashboardWidgetServicemapDefinitionArgs{\n\t\t\t\t\t\tService: pulumi.String(\"master-db\"),\n\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"env:prod\"),\n\t\t\t\t\t\t\tpulumi.String(\"datacenter:dc1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"env: prod, datacenter:dc1, service: master-db\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"line\"),\n\t\t\t\t\t\t\t\tStyle: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestStyleArgs{\n\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"warm\"),\n\t\t\t\t\t\t\t\t\tLineType: pulumi.String(\"dashed\"),\n\t\t\t\t\t\t\t\t\tLineWidth: pulumi.String(\"thin\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tMetadatas: datadog.DashboardWidgetTimeseriesDefinitionRequestMetadataArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestMetadataArgs{\n\t\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\t\t\tAliasName: pulumi.String(\"Alpha\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tLogQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs{\n\t\t\t\t\t\t\t\t\tIndex: pulumi.String(\"mcnulty\"),\n\t\t\t\t\t\t\t\t\tComputeQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs{\n\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@duration\"),\n\t\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(5000),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tSearchQuery: pulumi.String(\"status:info\"),\n\t\t\t\t\t\t\t\t\tGroupBies: datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArray{\n\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs{\n\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"host\"),\n\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\t\t\t\tSortQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@duration\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"area\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tApmQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs{\n\t\t\t\t\t\t\t\t\tIndex: pulumi.String(\"apm-search\"),\n\t\t\t\t\t\t\t\t\tComputeQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs{\n\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@duration\"),\n\t\t\t\t\t\t\t\t\t\tInterval: pulumi.Int(5000),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tSearchQuery: pulumi.String(\"type:web\"),\n\t\t\t\t\t\t\t\t\tGroupBies: datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArray{\n\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs{\n\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"resource_name\"),\n\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(50),\n\t\t\t\t\t\t\t\t\t\t\tSortQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"@string_query.interval\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"bars\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tProcessQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs{\n\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"process.stat.cpu.total_pct\"),\n\t\t\t\t\t\t\t\t\tSearchBy: pulumi.String(\"error\"),\n\t\t\t\t\t\t\t\t\tFilterBies: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"active\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(50),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"area\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMarkers: datadog.DashboardWidgetTimeseriesDefinitionMarkerArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs{\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"error dashed\"),\n\t\t\t\t\t\t\t\tLabel: pulumi.String(\" z=6 \"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"y = 4\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionMarkerArgs{\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"ok solid\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"10 \u003c y \u003c 999\"),\n\t\t\t\t\t\t\t\tLabel: pulumi.String(\" x=8 \"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tShowLegend: pulumi.Bool(true),\n\t\t\t\t\t\tLegendSize: pulumi.String(\"2\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t\tEvents: datadog.DashboardWidgetTimeseriesDefinitionEventArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionEventArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"sources:test tags:1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionEventArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"sources:test tags:2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tYaxis: \u0026datadog.DashboardWidgetTimeseriesDefinitionYaxisArgs{\n\t\t\t\t\t\t\tScale: pulumi.String(\"log\"),\n\t\t\t\t\t\t\tIncludeZero: pulumi.Bool(false),\n\t\t\t\t\t\t\tMax: pulumi.String(\"100\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tToplistDefinition: \u0026datadog.DashboardWidgetToplistDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetToplistDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetToplistDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQ: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\tConditionalFormats: datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003c\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_green\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetToplistDefinitionRequestConditionalFormatArgs{\n\t\t\t\t\t\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.Float64(2.2),\n\t\t\t\t\t\t\t\t\t\tPalette: pulumi.String(\"white_on_red\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tGroupDefinition: \u0026datadog.DashboardWidgetGroupDefinitionArgs{\n\t\t\t\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Group Widget\"),\n\t\t\t\t\t\tWidgets: datadog.DashboardWidgetGroupDefinitionWidgetArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetGroupDefinitionWidgetArgs{\n\t\t\t\t\t\t\t\tNoteDefinition: \u0026datadog.DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs{\n\t\t\t\t\t\t\t\t\tContent: pulumi.String(\"cluster note widget\"),\n\t\t\t\t\t\t\t\t\tBackgroundColor: pulumi.String(\"pink\"),\n\t\t\t\t\t\t\t\t\tFontSize: pulumi.String(\"14\"),\n\t\t\t\t\t\t\t\t\tTextAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\t\t\t\tShowTick: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\tTickEdge: pulumi.String(\"left\"),\n\t\t\t\t\t\t\t\t\tTickPos: pulumi.String(\"50%\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetGroupDefinitionWidgetArgs{\n\t\t\t\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\t\t\t\tAlertId: pulumi.String(\"123\"),\n\t\t\t\t\t\t\t\t\tVizType: pulumi.String(\"toplist\"),\n\t\t\t\t\t\t\t\t\tTitle: pulumi.String(\"Alert Graph\"),\n\t\t\t\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tServiceLevelObjectiveDefinition: \u0026datadog.DashboardWidgetServiceLevelObjectiveDefinitionArgs{\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tViewType: pulumi.String(\"detail\"),\n\t\t\t\t\t\tSloId: pulumi.String(\"56789\"),\n\t\t\t\t\t\tShowErrorBudget: pulumi.Bool(true),\n\t\t\t\t\t\tViewMode: pulumi.String(\"overall\"),\n\t\t\t\t\t\tTimeWindows: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"7d\"),\n\t\t\t\t\t\t\tpulumi.String(\"previous_week\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariables: datadog.DashboardTemplateVariableArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\tPrefix: pulumi.String(\"host\"),\n\t\t\t\t\tDefault: pulumi.String(\"aws\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\tPrefix: pulumi.String(\"service_name\"),\n\t\t\t\t\tDefault: pulumi.String(\"autoscaling\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariablePresets: datadog.DashboardTemplateVariablePresetArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetArgs{\n\t\t\t\t\tName: pulumi.String(\"preset_1\"),\n\t\t\t\t\tTemplateVariables: datadog.DashboardTemplateVariablePresetTemplateVariableArray{\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"host.dc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"my_service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Free Layout\n\t\t_, err = datadog.NewDashboard(ctx, \"free_dashboard\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"Free Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"free\"),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.DashboardWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(43),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventTimelineDefinition: \u0026datadog.DashboardWidgetEventTimelineDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(9),\n\t\t\t\t\t\tWidth: pulumi.Int(66),\n\t\t\t\t\t\tX: pulumi.Int(33),\n\t\t\t\t\t\tY: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tFreeTextDefinition: \u0026datadog.DashboardWidgetFreeTextDefinitionArgs{\n\t\t\t\t\t\tText: pulumi.String(\"free text content\"),\n\t\t\t\t\t\tColor: pulumi.String(\"#d00\"),\n\t\t\t\t\t\tFontSize: pulumi.String(\"36\"),\n\t\t\t\t\t\tTextAlign: pulumi.String(\"left\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(20),\n\t\t\t\t\t\tWidth: pulumi.Int(34),\n\t\t\t\t\t\tX: pulumi.Int(33),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tIframeDefinition: \u0026datadog.DashboardWidgetIframeDefinitionArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"http://google.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(46),\n\t\t\t\t\t\tWidth: pulumi.Int(39),\n\t\t\t\t\t\tX: pulumi.Int(101),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tImageDefinition: \u0026datadog.DashboardWidgetImageDefinitionArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\"),\n\t\t\t\t\t\tSizing: pulumi.String(\"fit\"),\n\t\t\t\t\t\tMargin: pulumi.String(\"small\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(20),\n\t\t\t\t\t\tWidth: pulumi.Int(30),\n\t\t\t\t\t\tX: pulumi.Int(69),\n\t\t\t\t\t\tY: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tLogStreamDefinition: \u0026datadog.DashboardWidgetLogStreamDefinitionArgs{\n\t\t\t\t\t\tIndexes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"main\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQuery: pulumi.String(\"error\"),\n\t\t\t\t\t\tColumns: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"core_host\"),\n\t\t\t\t\t\t\tpulumi.String(\"core_service\"),\n\t\t\t\t\t\t\tpulumi.String(\"tag_source\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tShowDateColumn: pulumi.Bool(true),\n\t\t\t\t\t\tShowMessageColumn: pulumi.Bool(true),\n\t\t\t\t\t\tMessageDisplay: pulumi.String(\"expanded-md\"),\n\t\t\t\t\t\tSort: \u0026datadog.DashboardWidgetLogStreamDefinitionSortArgs{\n\t\t\t\t\t\t\tColumn: pulumi.String(\"time\"),\n\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(36),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\tY: pulumi.Int(45),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tManageStatusDefinition: \u0026datadog.DashboardWidgetManageStatusDefinitionArgs{\n\t\t\t\t\t\tColorPreference: pulumi.String(\"text\"),\n\t\t\t\t\t\tDisplayFormat: pulumi.String(\"countsAndList\"),\n\t\t\t\t\t\tHideZeroCounts: pulumi.Bool(true),\n\t\t\t\t\t\tQuery: pulumi.String(\"type:metric\"),\n\t\t\t\t\t\tShowLastTriggered: pulumi.Bool(false),\n\t\t\t\t\t\tSort: pulumi.String(\"status,asc\"),\n\t\t\t\t\t\tSummaryType: pulumi.String(\"monitors\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(40),\n\t\t\t\t\t\tWidth: pulumi.Int(30),\n\t\t\t\t\t\tX: pulumi.Int(101),\n\t\t\t\t\t\tY: pulumi.Int(48),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTraceServiceDefinition: \u0026datadog.DashboardWidgetTraceServiceDefinitionArgs{\n\t\t\t\t\t\tDisplayFormat: pulumi.String(\"three_column\"),\n\t\t\t\t\t\tEnv: pulumi.String(\"datadog.com\"),\n\t\t\t\t\t\tService: pulumi.String(\"alerting-cassandra\"),\n\t\t\t\t\t\tShowBreakdown: pulumi.Bool(true),\n\t\t\t\t\t\tShowDistribution: pulumi.Bool(true),\n\t\t\t\t\t\tShowErrors: pulumi.Bool(true),\n\t\t\t\t\t\tShowHits: pulumi.Bool(true),\n\t\t\t\t\t\tShowLatency: pulumi.Bool(false),\n\t\t\t\t\t\tShowResourceList: pulumi.Bool(false),\n\t\t\t\t\t\tSizeFormat: pulumi.String(\"large\"),\n\t\t\t\t\t\tSpanName: pulumi.String(\"cassandra.query\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"alerting-cassandra #env:datadog.com\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"center\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"13\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(38),\n\t\t\t\t\t\tWidth: pulumi.Int(66),\n\t\t\t\t\t\tX: pulumi.Int(33),\n\t\t\t\t\t\tY: pulumi.Int(21),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tFormulas: datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs{\n\t\t\t\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"my_query_1 + my_query_2\"),\n\t\t\t\t\t\t\t\t\t\tAlias: pulumi.String(\"my ff query\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs{\n\t\t\t\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"my_query_1 * my_query_2\"),\n\t\t\t\t\t\t\t\t\t\tLimit: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs{\n\t\t\t\t\t\t\t\t\t\t\tCount: pulumi.Int(5),\n\t\t\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"desc\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tAlias: pulumi.String(\"my second ff query\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"metrics\"),\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my_query_1\"),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:system.cpu.user{app:general} by {env}\"),\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my_query_2\"),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(16),\n\t\t\t\t\t\tWidth: pulumi.Int(25),\n\t\t\t\t\t\tX: pulumi.Int(58),\n\t\t\t\t\t\tY: pulumi.Int(83),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tEventQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my-query\"),\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"logs\"),\n\t\t\t\t\t\t\t\t\t\t\tIndexes: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"days-3\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tComputes: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"count\"),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tGroupBies: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tFacet: pulumi.String(\"host\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tSort: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"@lambda.max_memory_used\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAggregation: pulumi.String(\"avg\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tDisplayType: pulumi.String(\"overlay\"),\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"MyOverlay\"),\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"metrics\"),\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(16),\n\t\t\t\t\t\tWidth: pulumi.Int(28),\n\t\t\t\t\t\tX: pulumi.Int(29),\n\t\t\t\t\t\tY: pulumi.Int(83),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tProcessQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"process\"),\n\t\t\t\t\t\t\t\t\t\t\tTextFilter: pulumi.String(\"abc\"),\n\t\t\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"process.stat.cpu.total_pct\"),\n\t\t\t\t\t\t\t\t\t\t\tLimit: pulumi.Int(10),\n\t\t\t\t\t\t\t\t\t\t\tTagFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"some_filter\"),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"my_process_query\"),\n\t\t\t\t\t\t\t\t\t\t\tSort: pulumi.String(\"asc\"),\n\t\t\t\t\t\t\t\t\t\t\tIsNormalizedCpu: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(16),\n\t\t\t\t\t\tWidth: pulumi.Int(28),\n\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\tY: pulumi.Int(83),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tTimeseriesDefinition: \u0026datadog.DashboardWidgetTimeseriesDefinitionArgs{\n\t\t\t\t\t\tRequests: datadog.DashboardWidgetTimeseriesDefinitionRequestArray{\n\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestArgs{\n\t\t\t\t\t\t\t\tFormulas: datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestFormulaArgs{\n\t\t\t\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"query1\"),\n\t\t\t\t\t\t\t\t\t\tAlias: pulumi.String(\"my cloud cost query\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tQueries: datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryArgs{\n\t\t\t\t\t\t\t\t\t\tCloudCostQuery: \u0026datadog.DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs{\n\t\t\t\t\t\t\t\t\t\t\tDataSource: pulumi.String(\"cloud_cost\"),\n\t\t\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"sum:aws.cost.amortized{*}\"),\n\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"query1\"),\n\t\t\t\t\t\t\t\t\t\t\tAggregator: pulumi.String(\"sum\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tPowerpackDefinition: \u0026datadog.DashboardWidgetPowerpackDefinitionArgs{\n\t\t\t\t\t\tPowerpackId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\t\t\tBackgroundColor: pulumi.String(\"blue\"),\n\t\t\t\t\t\tBannerImg: pulumi.String(\"https://example.org/example.png\"),\n\t\t\t\t\t\tShowTitle: pulumi.Bool(true),\n\t\t\t\t\t\tTitle: pulumi.String(\"Powerpack Widget\"),\n\t\t\t\t\t\tTemplateVariables: \u0026datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs{\n\t\t\t\t\t\t\tControlledExternallies: datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"autoscaling\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tPrefix: pulumi.String(\"service_name\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tControlledByPowerpacks: datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArray{\n\t\t\t\t\t\t\t\t\u0026datadog.DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"var_3\"),\n\t\t\t\t\t\t\t\t\tPrefix: pulumi.String(\"timeframe\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"values\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"here\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariables: datadog.DashboardTemplateVariableArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\tPrefix: pulumi.String(\"host\"),\n\t\t\t\t\tDefault: pulumi.String(\"aws\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardTemplateVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\tPrefix: pulumi.String(\"service_name\"),\n\t\t\t\t\tDefault: pulumi.String(\"autoscaling\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateVariablePresets: datadog.DashboardTemplateVariablePresetArray{\n\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetArgs{\n\t\t\t\t\tName: pulumi.String(\"preset_1\"),\n\t\t\t\t\tTemplateVariables: datadog.DashboardTemplateVariablePresetTemplateVariableArray{\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"host.dc\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026datadog.DashboardTemplateVariablePresetTemplateVariableArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"var_2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"my_service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertValueDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetChangeDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetDistributionDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetCheckStatusDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHeatmapDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHeatmapDefinitionYaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHostmapDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHostmapDefinitionRequestArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetHostmapDefinitionStyleArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetNoteDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetQueryValueDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetQueryTableDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionRequestArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionXaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetScatterplotDefinitionYaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetServicemapDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetTimeseriesDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetTimeseriesDefinitionYaxisArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetToplistDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetGroupDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetServiceLevelObjectiveDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardTemplateVariableArgs;\nimport com.pulumi.datadog.inputs.DashboardTemplateVariablePresetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetWidgetLayoutArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventTimelineDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetFreeTextDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetIframeDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetImageDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetLogStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetLogStreamDefinitionSortArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetManageStatusDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetTraceServiceDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetPowerpackDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetPowerpackDefinitionTemplateVariablesArgs;\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 Ordered Layout\n var orderedDashboard = new Dashboard(\"orderedDashboard\", DashboardArgs.builder()\n .title(\"Ordered Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"ordered\")\n .widgets( \n DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"895605\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .alertValueDefinition(DashboardWidgetAlertValueDefinitionArgs.builder()\n .alertId(\"895605\")\n .precision(3)\n .unit(\"b\")\n .textAlign(\"center\")\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .alertValueDefinition(DashboardWidgetAlertValueDefinitionArgs.builder()\n .alertId(\"895605\")\n .precision(3)\n .unit(\"b\")\n .textAlign(\"center\")\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .changeDefinition(DashboardWidgetChangeDefinitionArgs.builder()\n .requests(DashboardWidgetChangeDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .changeType(\"absolute\")\n .compareTo(\"week_before\")\n .increaseGood(true)\n .orderBy(\"name\")\n .orderDir(\"desc\")\n .showPresent(true)\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .distributionDefinition(DashboardWidgetDistributionDefinitionArgs.builder()\n .requests(DashboardWidgetDistributionDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .style(DashboardWidgetDistributionDefinitionRequestStyleArgs.builder()\n .palette(\"warm\")\n .build())\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .checkStatusDefinition(DashboardWidgetCheckStatusDefinitionArgs.builder()\n .check(\"aws.ecs.agent_connected\")\n .grouping(\"cluster\")\n .groupBies( \n \"account\",\n \"cluster\")\n .tags( \n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .heatmapDefinition(DashboardWidgetHeatmapDefinitionArgs.builder()\n .requests(DashboardWidgetHeatmapDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .style(DashboardWidgetHeatmapDefinitionRequestStyleArgs.builder()\n .palette(\"warm\")\n .build())\n .build())\n .yaxis(DashboardWidgetHeatmapDefinitionYaxisArgs.builder()\n .min(1)\n .max(2)\n .includeZero(true)\n .scale(\"sqrt\")\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .hostmapDefinition(DashboardWidgetHostmapDefinitionArgs.builder()\n .request(DashboardWidgetHostmapDefinitionRequestArgs.builder()\n .fills(DashboardWidgetHostmapDefinitionRequestFillArgs.builder()\n .q(\"avg:system.load.1{*} by {host}\")\n .build())\n .sizes(DashboardWidgetHostmapDefinitionRequestSizeArgs.builder()\n .q(\"avg:memcache.uptime{*} by {host}\")\n .build())\n .build())\n .nodeType(\"container\")\n .groups( \n \"host\",\n \"region\")\n .noGroupHosts(true)\n .noMetricHosts(true)\n .scopes( \n \"region:us-east-1\",\n \"aws_account:727006795293\")\n .style(DashboardWidgetHostmapDefinitionStyleArgs.builder()\n .palette(\"yellow_to_green\")\n .paletteFlip(true)\n .fillMin(\"10\")\n .fillMax(\"20\")\n .build())\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .noteDefinition(DashboardWidgetNoteDefinitionArgs.builder()\n .content(\"note text\")\n .backgroundColor(\"pink\")\n .fontSize(\"14\")\n .textAlign(\"center\")\n .showTick(true)\n .tickEdge(\"left\")\n .tickPos(\"50%\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .queryValueDefinition(DashboardWidgetQueryValueDefinitionArgs.builder()\n .requests(DashboardWidgetQueryValueDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .aggregator(\"sum\")\n .conditionalFormats( \n DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003c\")\n .value(\"2\")\n .palette(\"white_on_green\")\n .build(),\n DashboardWidgetQueryValueDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003e\")\n .value(\"2.2\")\n .palette(\"white_on_red\")\n .build())\n .build())\n .autoscale(true)\n .customUnit(\"xx\")\n .precision(\"4\")\n .textAlign(\"right\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .queryTableDefinition(DashboardWidgetQueryTableDefinitionArgs.builder()\n .requests(DashboardWidgetQueryTableDefinitionRequestArgs.builder()\n .q(\"avg:system.load.1{env:staging} by {account}\")\n .aggregator(\"sum\")\n .limit(\"10\")\n .conditionalFormats( \n DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003c\")\n .value(\"2\")\n .palette(\"white_on_green\")\n .build(),\n DashboardWidgetQueryTableDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003e\")\n .value(\"2.2\")\n .palette(\"white_on_red\")\n .build())\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .scatterplotDefinition(DashboardWidgetScatterplotDefinitionArgs.builder()\n .request(DashboardWidgetScatterplotDefinitionRequestArgs.builder()\n .xes(DashboardWidgetScatterplotDefinitionRequestXArgs.builder()\n .q(\"avg:system.cpu.user{*} by {service, account}\")\n .aggregator(\"max\")\n .build())\n .ys(DashboardWidgetScatterplotDefinitionRequestYArgs.builder()\n .q(\"avg:system.mem.used{*} by {service, account}\")\n .aggregator(\"min\")\n .build())\n .build())\n .colorByGroups( \n \"account\",\n \"apm-role-group\")\n .xaxis(DashboardWidgetScatterplotDefinitionXaxisArgs.builder()\n .includeZero(true)\n .label(\"x\")\n .min(\"1\")\n .max(\"2000\")\n .scale(\"pow\")\n .build())\n .yaxis(DashboardWidgetScatterplotDefinitionYaxisArgs.builder()\n .includeZero(false)\n .label(\"y\")\n .min(\"5\")\n .max(\"2222\")\n .scale(\"log\")\n .build())\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .servicemapDefinition(DashboardWidgetServicemapDefinitionArgs.builder()\n .service(\"master-db\")\n .filters( \n \"env:prod\",\n \"datacenter:dc1\")\n .title(\"env: prod, datacenter:dc1, service: master-db\")\n .titleSize(\"16\")\n .titleAlign(\"left\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests( \n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .q(\"avg:system.cpu.user{app:general} by {env}\")\n .displayType(\"line\")\n .style(DashboardWidgetTimeseriesDefinitionRequestStyleArgs.builder()\n .palette(\"warm\")\n .lineType(\"dashed\")\n .lineWidth(\"thin\")\n .build())\n .metadatas(DashboardWidgetTimeseriesDefinitionRequestMetadataArgs.builder()\n .expression(\"avg:system.cpu.user{app:general} by {env}\")\n .aliasName(\"Alpha\")\n .build())\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .logQuery(DashboardWidgetTimeseriesDefinitionRequestLogQueryArgs.builder()\n .index(\"mcnulty\")\n .computeQuery(DashboardWidgetTimeseriesDefinitionRequestLogQueryComputeQueryArgs.builder()\n .aggregation(\"avg\")\n .facet(\"@duration\")\n .interval(5000)\n .build())\n .searchQuery(\"status:info\")\n .groupBies(DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupByArgs.builder()\n .facet(\"host\")\n .limit(10)\n .sortQuery(DashboardWidgetTimeseriesDefinitionRequestLogQueryGroupBySortQueryArgs.builder()\n .aggregation(\"avg\")\n .order(\"desc\")\n .facet(\"@duration\")\n .build())\n .build())\n .build())\n .displayType(\"area\")\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .apmQuery(DashboardWidgetTimeseriesDefinitionRequestApmQueryArgs.builder()\n .index(\"apm-search\")\n .computeQuery(DashboardWidgetTimeseriesDefinitionRequestApmQueryComputeQueryArgs.builder()\n .aggregation(\"avg\")\n .facet(\"@duration\")\n .interval(5000)\n .build())\n .searchQuery(\"type:web\")\n .groupBies(DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupByArgs.builder()\n .facet(\"resource_name\")\n .limit(50)\n .sortQuery(DashboardWidgetTimeseriesDefinitionRequestApmQueryGroupBySortQueryArgs.builder()\n .aggregation(\"avg\")\n .order(\"desc\")\n .facet(\"@string_query.interval\")\n .build())\n .build())\n .build())\n .displayType(\"bars\")\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .processQuery(DashboardWidgetTimeseriesDefinitionRequestProcessQueryArgs.builder()\n .metric(\"process.stat.cpu.total_pct\")\n .searchBy(\"error\")\n .filterBies(\"active\")\n .limit(50)\n .build())\n .displayType(\"area\")\n .build())\n .markers( \n DashboardWidgetTimeseriesDefinitionMarkerArgs.builder()\n .displayType(\"error dashed\")\n .label(\" z=6 \")\n .value(\"y = 4\")\n .build(),\n DashboardWidgetTimeseriesDefinitionMarkerArgs.builder()\n .displayType(\"ok solid\")\n .value(\"10 \u003c y \u003c 999\")\n .label(\" x=8 \")\n .build())\n .title(\"Widget Title\")\n .showLegend(true)\n .legendSize(\"2\")\n .liveSpan(\"1h\")\n .events( \n DashboardWidgetTimeseriesDefinitionEventArgs.builder()\n .q(\"sources:test tags:1\")\n .build(),\n DashboardWidgetTimeseriesDefinitionEventArgs.builder()\n .q(\"sources:test tags:2\")\n .build())\n .yaxis(DashboardWidgetTimeseriesDefinitionYaxisArgs.builder()\n .scale(\"log\")\n .includeZero(false)\n .max(100)\n .build())\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .toplistDefinition(DashboardWidgetToplistDefinitionArgs.builder()\n .requests(DashboardWidgetToplistDefinitionRequestArgs.builder()\n .q(\"avg:system.cpu.user{app:general} by {env}\")\n .conditionalFormats( \n DashboardWidgetToplistDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003c\")\n .value(\"2\")\n .palette(\"white_on_green\")\n .build(),\n DashboardWidgetToplistDefinitionRequestConditionalFormatArgs.builder()\n .comparator(\"\u003e\")\n .value(\"2.2\")\n .palette(\"white_on_red\")\n .build())\n .build())\n .title(\"Widget Title\")\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .groupDefinition(DashboardWidgetGroupDefinitionArgs.builder()\n .layoutType(\"ordered\")\n .title(\"Group Widget\")\n .widgets( \n DashboardWidgetGroupDefinitionWidgetArgs.builder()\n .noteDefinition(DashboardWidgetGroupDefinitionWidgetNoteDefinitionArgs.builder()\n .content(\"cluster note widget\")\n .backgroundColor(\"pink\")\n .fontSize(\"14\")\n .textAlign(\"center\")\n .showTick(true)\n .tickEdge(\"left\")\n .tickPos(\"50%\")\n .build())\n .build(),\n DashboardWidgetGroupDefinitionWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetGroupDefinitionWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"123\")\n .vizType(\"toplist\")\n .title(\"Alert Graph\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .serviceLevelObjectiveDefinition(DashboardWidgetServiceLevelObjectiveDefinitionArgs.builder()\n .title(\"Widget Title\")\n .viewType(\"detail\")\n .sloId(\"56789\")\n .showErrorBudget(true)\n .viewMode(\"overall\")\n .timeWindows( \n \"7d\",\n \"previous_week\")\n .build())\n .build())\n .templateVariables( \n DashboardTemplateVariableArgs.builder()\n .name(\"var_1\")\n .prefix(\"host\")\n .default_(\"aws\")\n .build(),\n DashboardTemplateVariableArgs.builder()\n .name(\"var_2\")\n .prefix(\"service_name\")\n .default_(\"autoscaling\")\n .build())\n .templateVariablePresets(DashboardTemplateVariablePresetArgs.builder()\n .name(\"preset_1\")\n .templateVariables( \n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_1\")\n .value(\"host.dc\")\n .build(),\n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_2\")\n .value(\"my_service\")\n .build())\n .build())\n .build());\n\n // Example Free Layout\n var freeDashboard = new Dashboard(\"freeDashboard\", DashboardArgs.builder()\n .title(\"Free Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"free\")\n .widgets( \n DashboardWidgetArgs.builder()\n .eventStreamDefinition(DashboardWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(43)\n .width(32)\n .x(0)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .eventTimelineDefinition(DashboardWidgetEventTimelineDefinitionArgs.builder()\n .query(\"*\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(9)\n .width(66)\n .x(33)\n .y(60)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .freeTextDefinition(DashboardWidgetFreeTextDefinitionArgs.builder()\n .text(\"free text content\")\n .color(\"#d00\")\n .fontSize(\"36\")\n .textAlign(\"left\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(20)\n .width(34)\n .x(33)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .iframeDefinition(DashboardWidgetIframeDefinitionArgs.builder()\n .url(\"http://google.com\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(46)\n .width(39)\n .x(101)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .imageDefinition(DashboardWidgetImageDefinitionArgs.builder()\n .url(\"https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\")\n .sizing(\"fit\")\n .margin(\"small\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(20)\n .width(30)\n .x(69)\n .y(0)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .logStreamDefinition(DashboardWidgetLogStreamDefinitionArgs.builder()\n .indexes(\"main\")\n .query(\"error\")\n .columns( \n \"core_host\",\n \"core_service\",\n \"tag_source\")\n .showDateColumn(true)\n .showMessageColumn(true)\n .messageDisplay(\"expanded-md\")\n .sort(DashboardWidgetLogStreamDefinitionSortArgs.builder()\n .column(\"time\")\n .order(\"desc\")\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(36)\n .width(32)\n .x(0)\n .y(45)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .manageStatusDefinition(DashboardWidgetManageStatusDefinitionArgs.builder()\n .colorPreference(\"text\")\n .displayFormat(\"countsAndList\")\n .hideZeroCounts(true)\n .query(\"type:metric\")\n .showLastTriggered(false)\n .sort(\"status,asc\")\n .summaryType(\"monitors\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(40)\n .width(30)\n .x(101)\n .y(48)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .traceServiceDefinition(DashboardWidgetTraceServiceDefinitionArgs.builder()\n .displayFormat(\"three_column\")\n .env(\"datadog.com\")\n .service(\"alerting-cassandra\")\n .showBreakdown(true)\n .showDistribution(true)\n .showErrors(true)\n .showHits(true)\n .showLatency(false)\n .showResourceList(false)\n .sizeFormat(\"large\")\n .spanName(\"cassandra.query\")\n .title(\"alerting-cassandra #env:datadog.com\")\n .titleAlign(\"center\")\n .titleSize(\"13\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(38)\n .width(66)\n .x(33)\n .y(21)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests(DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .formulas( \n DashboardWidgetTimeseriesDefinitionRequestFormulaArgs.builder()\n .formulaExpression(\"my_query_1 + my_query_2\")\n .alias(\"my ff query\")\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestFormulaArgs.builder()\n .formulaExpression(\"my_query_1 * my_query_2\")\n .limit(DashboardWidgetTimeseriesDefinitionRequestFormulaLimitArgs.builder()\n .count(5)\n .order(\"desc\")\n .build())\n .alias(\"my second ff query\")\n .build())\n .queries( \n DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .metricQuery(DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs.builder()\n .dataSource(\"metrics\")\n .query(\"avg:system.cpu.user{app:general} by {env}\")\n .name(\"my_query_1\")\n .aggregator(\"sum\")\n .build())\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .metricQuery(DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs.builder()\n .query(\"avg:system.cpu.user{app:general} by {env}\")\n .name(\"my_query_2\")\n .aggregator(\"sum\")\n .build())\n .build())\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(16)\n .width(25)\n .x(58)\n .y(83)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests( \n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .eventQuery(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryArgs.builder()\n .name(\"my-query\")\n .dataSource(\"logs\")\n .indexes(\"days-3\")\n .computes(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryComputeArgs.builder()\n .aggregation(\"count\")\n .build())\n .groupBies(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupByArgs.builder()\n .facet(\"host\")\n .sort(DashboardWidgetTimeseriesDefinitionRequestQueryEventQueryGroupBySortArgs.builder()\n .metric(\"@lambda.max_memory_used\")\n .aggregation(\"avg\")\n .build())\n .limit(10)\n .build())\n .build())\n .build())\n .build(),\n DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .displayType(\"overlay\")\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .metricQuery(DashboardWidgetTimeseriesDefinitionRequestQueryMetricQueryArgs.builder()\n .name(\"MyOverlay\")\n .dataSource(\"metrics\")\n .query(\"avg:system.cpu.user{host:COMP-QJWVM2FYT4}\")\n .build())\n .build())\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(16)\n .width(28)\n .x(29)\n .y(83)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests(DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .processQuery(DashboardWidgetTimeseriesDefinitionRequestQueryProcessQueryArgs.builder()\n .dataSource(\"process\")\n .textFilter(\"abc\")\n .metric(\"process.stat.cpu.total_pct\")\n .limit(10)\n .tagFilters(\"some_filter\")\n .name(\"my_process_query\")\n .sort(\"asc\")\n .isNormalizedCpu(true)\n .aggregator(\"sum\")\n .build())\n .build())\n .build())\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(16)\n .width(28)\n .x(0)\n .y(83)\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .timeseriesDefinition(DashboardWidgetTimeseriesDefinitionArgs.builder()\n .requests(DashboardWidgetTimeseriesDefinitionRequestArgs.builder()\n .formulas(DashboardWidgetTimeseriesDefinitionRequestFormulaArgs.builder()\n .formulaExpression(\"query1\")\n .alias(\"my cloud cost query\")\n .build())\n .queries(DashboardWidgetTimeseriesDefinitionRequestQueryArgs.builder()\n .cloudCostQuery(DashboardWidgetTimeseriesDefinitionRequestQueryCloudCostQueryArgs.builder()\n .dataSource(\"cloud_cost\")\n .query(\"sum:aws.cost.amortized{*}\")\n .name(\"query1\")\n .aggregator(\"sum\")\n .build())\n .build())\n .build())\n .build())\n .build(),\n DashboardWidgetArgs.builder()\n .powerpackDefinition(DashboardWidgetPowerpackDefinitionArgs.builder()\n .powerpackId(\"00000000-0000-0000-0000-000000000000\")\n .backgroundColor(\"blue\")\n .bannerImg(\"https://example.org/example.png\")\n .showTitle(true)\n .title(\"Powerpack Widget\")\n .templateVariables(DashboardWidgetPowerpackDefinitionTemplateVariablesArgs.builder()\n .controlledExternallies(DashboardWidgetPowerpackDefinitionTemplateVariablesControlledExternallyArgs.builder()\n .name(\"var_2\")\n .values(\"autoscaling\")\n .prefix(\"service_name\")\n .build())\n .controlledByPowerpacks(DashboardWidgetPowerpackDefinitionTemplateVariablesControlledByPowerpackArgs.builder()\n .name(\"var_3\")\n .prefix(\"timeframe\")\n .values( \n \"default\",\n \"values\",\n \"here\")\n .build())\n .build())\n .build())\n .build())\n .templateVariables( \n DashboardTemplateVariableArgs.builder()\n .name(\"var_1\")\n .prefix(\"host\")\n .default_(\"aws\")\n .build(),\n DashboardTemplateVariableArgs.builder()\n .name(\"var_2\")\n .prefix(\"service_name\")\n .default_(\"autoscaling\")\n .build())\n .templateVariablePresets(DashboardTemplateVariablePresetArgs.builder()\n .name(\"preset_1\")\n .templateVariables( \n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_1\")\n .value(\"host.dc\")\n .build(),\n DashboardTemplateVariablePresetTemplateVariableArgs.builder()\n .name(\"var_2\")\n .value(\"my_service\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Ordered Layout\n orderedDashboard:\n type: datadog:Dashboard\n name: ordered_dashboard\n properties:\n title: Ordered Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: ordered\n widgets:\n - alertGraphDefinition:\n alertId: '895605'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\n - alertValueDefinition:\n alertId: '895605'\n precision: 3\n unit: b\n textAlign: center\n title: Widget Title\n - alertValueDefinition:\n alertId: '895605'\n precision: 3\n unit: b\n textAlign: center\n title: Widget Title\n - changeDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n changeType: absolute\n compareTo: week_before\n increaseGood: true\n orderBy: name\n orderDir: desc\n showPresent: true\n title: Widget Title\n liveSpan: 1h\n - distributionDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n style:\n palette: warm\n title: Widget Title\n liveSpan: 1h\n - checkStatusDefinition:\n check: aws.ecs.agent_connected\n grouping: cluster\n groupBies:\n - account\n - cluster\n tags:\n - account:demo\n - cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\n title: Widget Title\n liveSpan: 1h\n - heatmapDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n style:\n palette: warm\n yaxis:\n min: 1\n max: 2\n includeZero: true\n scale: sqrt\n title: Widget Title\n liveSpan: 1h\n - hostmapDefinition:\n request:\n fills:\n - q: avg:system.load.1{*} by {host}\n sizes:\n - q: avg:memcache.uptime{*} by {host}\n nodeType: container\n groups:\n - host\n - region\n noGroupHosts: true\n noMetricHosts: true\n scopes:\n - region:us-east-1\n - aws_account:727006795293\n style:\n palette: yellow_to_green\n paletteFlip: true\n fillMin: '10'\n fillMax: '20'\n title: Widget Title\n - noteDefinition:\n content: note text\n backgroundColor: pink\n fontSize: '14'\n textAlign: center\n showTick: true\n tickEdge: left\n tickPos: 50%\n - queryValueDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n aggregator: sum\n conditionalFormats:\n - comparator: \u003c\n value: '2'\n palette: white_on_green\n - comparator: '\u003e'\n value: '2.2'\n palette: white_on_red\n autoscale: true\n customUnit: xx\n precision: '4'\n textAlign: right\n title: Widget Title\n liveSpan: 1h\n - queryTableDefinition:\n requests:\n - q: avg:system.load.1{env:staging} by {account}\n aggregator: sum\n limit: '10'\n conditionalFormats:\n - comparator: \u003c\n value: '2'\n palette: white_on_green\n - comparator: '\u003e'\n value: '2.2'\n palette: white_on_red\n title: Widget Title\n liveSpan: 1h\n - scatterplotDefinition:\n request:\n xes:\n - q: avg:system.cpu.user{*} by {service, account}\n aggregator: max\n ys:\n - q: avg:system.mem.used{*} by {service, account}\n aggregator: min\n colorByGroups:\n - account\n - apm-role-group\n xaxis:\n includeZero: true\n label: x\n min: '1'\n max: '2000'\n scale: pow\n yaxis:\n includeZero: false\n label: y\n min: '5'\n max: '2222'\n scale: log\n title: Widget Title\n liveSpan: 1h\n - servicemapDefinition:\n service: master-db\n filters:\n - env:prod\n - datacenter:dc1\n title: 'env: prod, datacenter:dc1, service: master-db'\n titleSize: '16'\n titleAlign: left\n - timeseriesDefinition:\n requests:\n - q: avg:system.cpu.user{app:general} by {env}\n displayType: line\n style:\n palette: warm\n lineType: dashed\n lineWidth: thin\n metadatas:\n - expression: avg:system.cpu.user{app:general} by {env}\n aliasName: Alpha\n - logQuery:\n index: mcnulty\n computeQuery:\n aggregation: avg\n facet: '@duration'\n interval: 5000\n searchQuery: status:info\n groupBies:\n - facet: host\n limit: 10\n sortQuery:\n aggregation: avg\n order: desc\n facet: '@duration'\n displayType: area\n - apmQuery:\n index: apm-search\n computeQuery:\n aggregation: avg\n facet: '@duration'\n interval: 5000\n searchQuery: type:web\n groupBies:\n - facet: resource_name\n limit: 50\n sortQuery:\n aggregation: avg\n order: desc\n facet: '@string_query.interval'\n displayType: bars\n - processQuery:\n metric: process.stat.cpu.total_pct\n searchBy: error\n filterBies:\n - active\n limit: 50\n displayType: area\n markers:\n - displayType: error dashed\n label: ' z=6 '\n value: y = 4\n - displayType: ok solid\n value: 10 \u003c y \u003c 999\n label: ' x=8 '\n title: Widget Title\n showLegend: true\n legendSize: '2'\n liveSpan: 1h\n events:\n - q: sources:test tags:1\n - q: sources:test tags:2\n yaxis:\n scale: log\n includeZero: false\n max: 100\n - toplistDefinition:\n requests:\n - q: avg:system.cpu.user{app:general} by {env}\n conditionalFormats:\n - comparator: \u003c\n value: '2'\n palette: white_on_green\n - comparator: '\u003e'\n value: '2.2'\n palette: white_on_red\n title: Widget Title\n - groupDefinition:\n layoutType: ordered\n title: Group Widget\n widgets:\n - noteDefinition:\n content: cluster note widget\n backgroundColor: pink\n fontSize: '14'\n textAlign: center\n showTick: true\n tickEdge: left\n tickPos: 50%\n - alertGraphDefinition:\n alertId: '123'\n vizType: toplist\n title: Alert Graph\n liveSpan: 1h\n - serviceLevelObjectiveDefinition:\n title: Widget Title\n viewType: detail\n sloId: '56789'\n showErrorBudget: true\n viewMode: overall\n timeWindows:\n - 7d\n - previous_week\n templateVariables:\n - name: var_1\n prefix: host\n default: aws\n - name: var_2\n prefix: service_name\n default: autoscaling\n templateVariablePresets:\n - name: preset_1\n templateVariables:\n - name: var_1\n value: host.dc\n - name: var_2\n value: my_service\n # Example Free Layout\n freeDashboard:\n type: datadog:Dashboard\n name: free_dashboard\n properties:\n title: Free Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: free\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 43\n width: 32\n x: 0\n y: 0\n - eventTimelineDefinition:\n query: '*'\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 9\n width: 66\n x: 33\n y: 60\n - freeTextDefinition:\n text: free text content\n color: '#d00'\n fontSize: '36'\n textAlign: left\n widgetLayout:\n height: 20\n width: 34\n x: 33\n y: 0\n - iframeDefinition:\n url: http://google.com\n widgetLayout:\n height: 46\n width: 39\n x: 101\n y: 0\n - imageDefinition:\n url: https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress\u0026cs=tinysrgb\u0026h=350\n sizing: fit\n margin: small\n widgetLayout:\n height: 20\n width: 30\n x: 69\n y: 0\n - logStreamDefinition:\n indexes:\n - main\n query: error\n columns:\n - core_host\n - core_service\n - tag_source\n showDateColumn: true\n showMessageColumn: true\n messageDisplay: expanded-md\n sort:\n column: time\n order: desc\n widgetLayout:\n height: 36\n width: 32\n x: 0\n y: 45\n - manageStatusDefinition:\n colorPreference: text\n displayFormat: countsAndList\n hideZeroCounts: true\n query: type:metric\n showLastTriggered: false\n sort: status,asc\n summaryType: monitors\n title: Widget Title\n titleSize: 16\n titleAlign: left\n widgetLayout:\n height: 40\n width: 30\n x: 101\n y: 48\n - traceServiceDefinition:\n displayFormat: three_column\n env: datadog.com\n service: alerting-cassandra\n showBreakdown: true\n showDistribution: true\n showErrors: true\n showHits: true\n showLatency: false\n showResourceList: false\n sizeFormat: large\n spanName: cassandra.query\n title: 'alerting-cassandra #env:datadog.com'\n titleAlign: center\n titleSize: '13'\n liveSpan: 1h\n widgetLayout:\n height: 38\n width: 66\n x: 33\n y: 21\n - timeseriesDefinition:\n requests:\n - formulas:\n - formulaExpression: my_query_1 + my_query_2\n alias: my ff query\n - formulaExpression: my_query_1 * my_query_2\n limit:\n count: 5\n order: desc\n alias: my second ff query\n queries:\n - metricQuery:\n dataSource: metrics\n query: avg:system.cpu.user{app:general} by {env}\n name: my_query_1\n aggregator: sum\n - metricQuery:\n query: avg:system.cpu.user{app:general} by {env}\n name: my_query_2\n aggregator: sum\n widgetLayout:\n height: 16\n width: 25\n x: 58\n y: 83\n - timeseriesDefinition:\n requests:\n - queries:\n - eventQuery:\n name: my-query\n dataSource: logs\n indexes:\n - days-3\n computes:\n - aggregation: count\n groupBies:\n - facet: host\n sort:\n metric: '@lambda.max_memory_used'\n aggregation: avg\n limit: 10\n - displayType: overlay\n queries:\n - metricQuery:\n name: MyOverlay\n dataSource: metrics\n query: avg:system.cpu.user{host:COMP-QJWVM2FYT4}\n widgetLayout:\n height: 16\n width: 28\n x: 29\n y: 83\n - timeseriesDefinition:\n requests:\n - queries:\n - processQuery:\n dataSource: process\n textFilter: abc\n metric: process.stat.cpu.total_pct\n limit: 10\n tagFilters:\n - some_filter\n name: my_process_query\n sort: asc\n isNormalizedCpu: true\n aggregator: sum\n widgetLayout:\n height: 16\n width: 28\n x: 0\n y: 83\n - timeseriesDefinition:\n requests:\n - formulas:\n - formulaExpression: query1\n alias: my cloud cost query\n queries:\n - cloudCostQuery:\n dataSource: cloud_cost\n query: sum:aws.cost.amortized{*}\n name: query1\n aggregator: sum\n - powerpackDefinition:\n powerpackId: 00000000-0000-0000-0000-000000000000\n backgroundColor: blue\n bannerImg: https://example.org/example.png\n showTitle: true\n title: Powerpack Widget\n templateVariables:\n controlledExternallies:\n - name: var_2\n values:\n - autoscaling\n prefix: service_name\n controlledByPowerpacks:\n - name: var_3\n prefix: timeframe\n values:\n - default\n - values\n - here\n templateVariables:\n - name: var_1\n prefix: host\n default: aws\n - name: var_2\n prefix: service_name\n default: autoscaling\n templateVariablePresets:\n - name: preset_1\n templateVariables:\n - name: var_1\n value: host.dc\n - name: var_2\n value: my_service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/dashboard:Dashboard my_service_dashboard sv7-gyh-kas\n```\n\n", "properties": { "dashboardLists": { "type": "array", @@ -74557,7 +74557,7 @@ } }, "datadog:index/dashboardJson:DashboardJson": { - "description": "Provides a Datadog dashboard JSON resource. This can be used to create and manage Datadog dashboards using the JSON definition.\n\n## 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 Dashboard JSON\nconst dashboardJson = new datadog.DashboardJson(\"dashboard_json\", {dashboard: `{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Dashboard JSON\ndashboard_json = datadog.DashboardJson(\"dashboard_json\", dashboard=\"\"\"{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Dashboard JSON\n var dashboardJson = new Datadog.DashboardJson(\"dashboard_json\", new()\n {\n Dashboard = @\"{\n \"\"title\"\":\"\"Ordered Layout Dashboard\"\",\n \"\"description\"\":\"\"Created using the Datadog provider in Pulumi\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":719369537777170,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"viz_type\"\":\"\"timeseries\"\"\n }\n },\n {\n \"\"id\"\":2306240030393868,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":6990998850881326,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":3351284044659007,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"change\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"compare_to\"\":\"\"week_before\"\",\n \"\"change_type\"\":\"\"absolute\"\",\n \"\"order_dir\"\":\"\"desc\"\",\n \"\"increase_good\"\":true,\n \"\"order_by\"\":\"\"name\"\",\n \"\"show_present\"\":true\n }\n ]\n }\n },\n {\n \"\"id\"\":6450290622996182,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"distribution\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4902842646291536,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"check_status\"\",\n \"\"check\"\":\"\"aws.ecs.agent_connected\"\",\n \"\"grouping\"\":\"\"cluster\"\",\n \"\"group_by\"\":[\n \"\"account\"\",\n \"\"cluster\"\"\n ],\n \"\"tags\"\":[\n \"\"account:demo\"\",\n \"\"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\"\n ]\n }\n },\n {\n \"\"id\"\":6392349954822644,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"heatmap\"\",\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"sqrt\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2\"\"\n },\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":5222961478940988,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"hostmap\"\",\n \"\"requests\"\":{\n \"\"fill\"\":{\n \"\"q\"\":\"\"avg:system.load.1{*} by {host}\"\"\n },\n \"\"size\"\":{\n \"\"q\"\":\"\"avg:memcache.uptime{*} by {host}\"\"\n }\n },\n \"\"node_type\"\":\"\"container\"\",\n \"\"no_metric_hosts\"\":true,\n \"\"no_group_hosts\"\":true,\n \"\"group\"\":[\n \"\"host\"\",\n \"\"region\"\"\n ],\n \"\"scope\"\":[\n \"\"region:us-east-1\"\",\n \"\"aws_account:727006795293\"\"\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"yellow_to_green\"\",\n \"\"palette_flip\"\":true,\n \"\"fill_min\"\":\"\"10\"\",\n \"\"fill_max\"\":\"\"20\"\"\n }\n }\n },\n {\n \"\"id\"\":8121199734227072,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"note text\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":1775856835833038,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_value\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ],\n \"\"autoscale\"\":true,\n \"\"custom_unit\"\":\"\"xx\"\",\n \"\"text_align\"\":\"\"right\"\",\n \"\"precision\"\":4\n }\n },\n {\n \"\"id\"\":8461455966625581,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_table\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ],\n \"\"limit\"\":10\n }\n ]\n }\n },\n {\n \"\"id\"\":8660006349418736,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"scatterplot\"\",\n \"\"requests\"\":{\n \"\"x\"\":{\n \"\"q\"\":\"\"avg:system.cpu.user{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"max\"\"\n },\n \"\"y\"\":{\n \"\"q\"\":\"\"avg:system.mem.used{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"min\"\"\n }\n },\n \"\"xaxis\"\":{\n \"\"scale\"\":\"\"pow\"\",\n \"\"label\"\":\"\"x\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2000\"\"\n },\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"label\"\":\"\"y\"\",\n \"\"include_zero\"\":false,\n \"\"min\"\":\"\"5\"\",\n \"\"max\"\":\"\"2222\"\"\n },\n \"\"color_by_groups\"\":[\n \"\"account\"\",\n \"\"apm-role-group\"\"\n ]\n }\n },\n {\n \"\"id\"\":1669590772917638,\n \"\"definition\"\":{\n \"\"title\"\":\"\"env: prod, datacenter:dc1, service: master-db\"\",\n \"\"title_size\"\":\"\"16\"\",\n \"\"title_align\"\":\"\"left\"\",\n \"\"type\"\":\"\"servicemap\"\",\n \"\"service\"\":\"\"master-db\"\",\n \"\"filters\"\":[\n \"\"env:prod\"\",\n \"\"datacenter:dc1\"\"\n ]\n }\n },\n {\n \"\"id\"\":2138829058361817,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":true,\n \"\"legend_size\"\":\"\"2\"\",\n \"\"type\"\":\"\"timeseries\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"on_right_yaxis\"\":false,\n \"\"metadata\"\":[\n {\n \"\"expression\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"alias_name\"\":\"\"Alpha\"\"\n }\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\",\n \"\"line_type\"\":\"\"dashed\"\",\n \"\"line_width\"\":\"\"thin\"\"\n },\n \"\"display_type\"\":\"\"line\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"log_query\"\":{\n \"\"index\"\":\"\"mcnulty\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"status:info\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"host\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":10\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"area\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"apm_query\"\":{\n \"\"index\"\":\"\"apm-search\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"type:web\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"resource_name\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@string_query.interval\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":50\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"bars\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"process_query\"\":{\n \"\"search_by\"\":\"\"error\"\",\n \"\"metric\"\":\"\"process.stat.cpu.total_pct\"\",\n \"\"limit\"\":50,\n \"\"filter_by\"\":[\n \"\"active\"\"\n ]\n },\n \"\"display_type\"\":\"\"area\"\"\n }\n ],\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"include_zero\"\":false,\n \"\"max\"\":\"\"100\"\"\n },\n \"\"events\"\":[\n {\n \"\"q\"\":\"\"sources:test tags:1\"\"\n },\n {\n \"\"q\"\":\"\"sources:test tags:2\"\"\n }\n ],\n \"\"markers\"\":[\n {\n \"\"label\"\":\"\" z=6 \"\",\n \"\"value\"\":\"\"y = 4\"\",\n \"\"display_type\"\":\"\"error dashed\"\"\n },\n {\n \"\"label\"\":\"\" x=8 \"\",\n \"\"value\"\":\"\"10 \u003c y \u003c 999\"\",\n \"\"display_type\"\":\"\"ok solid\"\"\n }\n ]\n }\n },\n {\n \"\"id\"\":7307171374656551,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"toplist\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"\"id\"\":7086674838553258,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Group Widget\"\",\n \"\"type\"\":\"\"group\"\",\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":3726092277657502,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"cluster note widget\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":6376384650558057,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Alert Graph\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"123\"\",\n \"\"viz_type\"\":\"\"toplist\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4668903563678912,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"slo\"\",\n \"\"view_type\"\":\"\"detail\"\",\n \"\"time_windows\"\":[\n \"\"7d\"\",\n \"\"previous_week\"\"\n ],\n \"\"slo_id\"\":\"\"56789\"\",\n \"\"show_error_budget\"\":true,\n \"\"view_mode\"\":\"\"overall\"\",\n \"\"global_time_target\"\":\"\"0\"\"\n }\n }\n ],\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"default\"\":\"\"aws\"\",\n \"\"prefix\"\":\"\"host\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"default\"\":\"\"autoscaling\"\",\n \"\"prefix\"\":\"\"service_name\"\"\n }\n ],\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"is_read_only\"\":true,\n \"\"notify_list\"\":[\n\n ],\n \"\"template_variable_presets\"\":[\n {\n \"\"name\"\":\"\"preset_1\"\",\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"value\"\":\"\"host.dc\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"value\"\":\"\"my_service\"\"\n }\n ]\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Dashboard JSON\n\t\t_, err := datadog.NewDashboardJson(ctx, \"dashboard_json\", \u0026datadog.DashboardJsonArgs{\n\t\t\tDashboard: pulumi.String(`{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DashboardJson;\nimport com.pulumi.datadog.DashboardJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Dashboard JSON\n var dashboardJson = new DashboardJson(\"dashboardJson\", DashboardJsonArgs.builder() \n .dashboard(\"\"\"\n{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Dashboard JSON\n dashboardJson:\n type: datadog:DashboardJson\n name: dashboard_json\n properties:\n dashboard: |\n {\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/dashboardJson:DashboardJson my_service_dashboard sv7-gyh-kas\n```\n\n", + "description": "Provides a Datadog dashboard JSON resource. This can be used to create and manage Datadog dashboards using the JSON definition.\n\n## 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 Dashboard JSON\nconst dashboardJson = new datadog.DashboardJson(\"dashboard_json\", {dashboard: `{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Dashboard JSON\ndashboard_json = datadog.DashboardJson(\"dashboard_json\", dashboard=\"\"\"{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Dashboard JSON\n var dashboardJson = new Datadog.DashboardJson(\"dashboard_json\", new()\n {\n Dashboard = @\"{\n \"\"title\"\":\"\"Ordered Layout Dashboard\"\",\n \"\"description\"\":\"\"Created using the Datadog provider in Pulumi\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":719369537777170,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"viz_type\"\":\"\"timeseries\"\"\n }\n },\n {\n \"\"id\"\":2306240030393868,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":6990998850881326,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"alert_value\"\",\n \"\"alert_id\"\":\"\"895605\"\",\n \"\"unit\"\":\"\"b\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"precision\"\":3\n }\n },\n {\n \"\"id\"\":3351284044659007,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"change\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"compare_to\"\":\"\"week_before\"\",\n \"\"change_type\"\":\"\"absolute\"\",\n \"\"order_dir\"\":\"\"desc\"\",\n \"\"increase_good\"\":true,\n \"\"order_by\"\":\"\"name\"\",\n \"\"show_present\"\":true\n }\n ]\n }\n },\n {\n \"\"id\"\":6450290622996182,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"distribution\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4902842646291536,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"check_status\"\",\n \"\"check\"\":\"\"aws.ecs.agent_connected\"\",\n \"\"grouping\"\":\"\"cluster\"\",\n \"\"group_by\"\":[\n \"\"account\"\",\n \"\"cluster\"\"\n ],\n \"\"tags\"\":[\n \"\"account:demo\"\",\n \"\"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\"\n ]\n }\n },\n {\n \"\"id\"\":6392349954822644,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":false,\n \"\"type\"\":\"\"heatmap\"\",\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"sqrt\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2\"\"\n },\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":5222961478940988,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"hostmap\"\",\n \"\"requests\"\":{\n \"\"fill\"\":{\n \"\"q\"\":\"\"avg:system.load.1{*} by {host}\"\"\n },\n \"\"size\"\":{\n \"\"q\"\":\"\"avg:memcache.uptime{*} by {host}\"\"\n }\n },\n \"\"node_type\"\":\"\"container\"\",\n \"\"no_metric_hosts\"\":true,\n \"\"no_group_hosts\"\":true,\n \"\"group\"\":[\n \"\"host\"\",\n \"\"region\"\"\n ],\n \"\"scope\"\":[\n \"\"region:us-east-1\"\",\n \"\"aws_account:727006795293\"\"\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"yellow_to_green\"\",\n \"\"palette_flip\"\":true,\n \"\"fill_min\"\":\"\"10\"\",\n \"\"fill_max\"\":\"\"20\"\"\n }\n }\n },\n {\n \"\"id\"\":8121199734227072,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"note text\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":1775856835833038,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_value\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ],\n \"\"autoscale\"\":true,\n \"\"custom_unit\"\":\"\"xx\"\",\n \"\"text_align\"\":\"\"right\"\",\n \"\"precision\"\":4\n }\n },\n {\n \"\"id\"\":8461455966625581,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"query_table\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.load.1{env:staging} by {account}\"\",\n \"\"aggregator\"\":\"\"sum\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ],\n \"\"limit\"\":10\n }\n ]\n }\n },\n {\n \"\"id\"\":8660006349418736,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"scatterplot\"\",\n \"\"requests\"\":{\n \"\"x\"\":{\n \"\"q\"\":\"\"avg:system.cpu.user{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"max\"\"\n },\n \"\"y\"\":{\n \"\"q\"\":\"\"avg:system.mem.used{*} by {service, account}\"\",\n \"\"aggregator\"\":\"\"min\"\"\n }\n },\n \"\"xaxis\"\":{\n \"\"scale\"\":\"\"pow\"\",\n \"\"label\"\":\"\"x\"\",\n \"\"include_zero\"\":true,\n \"\"min\"\":\"\"1\"\",\n \"\"max\"\":\"\"2000\"\"\n },\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"label\"\":\"\"y\"\",\n \"\"include_zero\"\":false,\n \"\"min\"\":\"\"5\"\",\n \"\"max\"\":\"\"2222\"\"\n },\n \"\"color_by_groups\"\":[\n \"\"account\"\",\n \"\"apm-role-group\"\"\n ]\n }\n },\n {\n \"\"id\"\":1669590772917638,\n \"\"definition\"\":{\n \"\"title\"\":\"\"env: prod, datacenter:dc1, service: master-db\"\",\n \"\"title_size\"\":\"\"16\"\",\n \"\"title_align\"\":\"\"left\"\",\n \"\"type\"\":\"\"servicemap\"\",\n \"\"service\"\":\"\"master-db\"\",\n \"\"filters\"\":[\n \"\"env:prod\"\",\n \"\"datacenter:dc1\"\"\n ]\n }\n },\n {\n \"\"id\"\":2138829058361817,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"show_legend\"\":true,\n \"\"legend_size\"\":\"\"2\"\",\n \"\"type\"\":\"\"timeseries\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"on_right_yaxis\"\":false,\n \"\"metadata\"\":[\n {\n \"\"expression\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"alias_name\"\":\"\"Alpha\"\"\n }\n ],\n \"\"style\"\":{\n \"\"palette\"\":\"\"warm\"\",\n \"\"line_type\"\":\"\"dashed\"\",\n \"\"line_width\"\":\"\"thin\"\"\n },\n \"\"display_type\"\":\"\"line\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"log_query\"\":{\n \"\"index\"\":\"\"mcnulty\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"status:info\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"host\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":10\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"area\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"apm_query\"\":{\n \"\"index\"\":\"\"apm-search\"\",\n \"\"search\"\":{\n \"\"query\"\":\"\"type:web\"\"\n },\n \"\"group_by\"\":[\n {\n \"\"facet\"\":\"\"resource_name\"\",\n \"\"sort\"\":{\n \"\"facet\"\":\"\"@string_query.interval\"\",\n \"\"aggregation\"\":\"\"avg\"\",\n \"\"order\"\":\"\"desc\"\"\n },\n \"\"limit\"\":50\n }\n ],\n \"\"compute\"\":{\n \"\"facet\"\":\"\"@duration\"\",\n \"\"interval\"\":5000,\n \"\"aggregation\"\":\"\"avg\"\"\n }\n },\n \"\"display_type\"\":\"\"bars\"\"\n },\n {\n \"\"on_right_yaxis\"\":false,\n \"\"process_query\"\":{\n \"\"search_by\"\":\"\"error\"\",\n \"\"metric\"\":\"\"process.stat.cpu.total_pct\"\",\n \"\"limit\"\":50,\n \"\"filter_by\"\":[\n \"\"active\"\"\n ]\n },\n \"\"display_type\"\":\"\"area\"\"\n }\n ],\n \"\"yaxis\"\":{\n \"\"scale\"\":\"\"log\"\",\n \"\"include_zero\"\":false,\n \"\"max\"\":\"\"100\"\"\n },\n \"\"events\"\":[\n {\n \"\"q\"\":\"\"sources:test tags:1\"\"\n },\n {\n \"\"q\"\":\"\"sources:test tags:2\"\"\n }\n ],\n \"\"markers\"\":[\n {\n \"\"label\"\":\"\" z=6 \"\",\n \"\"value\"\":\"\"y = 4\"\",\n \"\"display_type\"\":\"\"error dashed\"\"\n },\n {\n \"\"label\"\":\"\" x=8 \"\",\n \"\"value\"\":\"\"10 \u003c y \u003c 999\"\",\n \"\"display_type\"\":\"\"ok solid\"\"\n }\n ]\n }\n },\n {\n \"\"id\"\":7307171374656551,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"toplist\"\",\n \"\"requests\"\":[\n {\n \"\"q\"\":\"\"avg:system.cpu.user{app:general} by {env}\"\",\n \"\"conditional_formats\"\":[\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003c\"\",\n \"\"palette\"\":\"\"white_on_green\"\",\n \"\"value\"\":2\n },\n {\n \"\"hide_value\"\":false,\n \"\"comparator\"\":\"\"\u003e\"\",\n \"\"palette\"\":\"\"white_on_red\"\",\n \"\"value\"\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"\"id\"\":7086674838553258,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Group Widget\"\",\n \"\"type\"\":\"\"group\"\",\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"widgets\"\":[\n {\n \"\"id\"\":3726092277657502,\n \"\"definition\"\":{\n \"\"type\"\":\"\"note\"\",\n \"\"content\"\":\"\"cluster note widget\"\",\n \"\"background_color\"\":\"\"pink\"\",\n \"\"font_size\"\":\"\"14\"\",\n \"\"text_align\"\":\"\"center\"\",\n \"\"show_tick\"\":true,\n \"\"tick_pos\"\":\"\"50%\"\",\n \"\"tick_edge\"\":\"\"left\"\"\n }\n },\n {\n \"\"id\"\":6376384650558057,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Alert Graph\"\",\n \"\"type\"\":\"\"alert_graph\"\",\n \"\"alert_id\"\":\"\"123\"\",\n \"\"viz_type\"\":\"\"toplist\"\"\n }\n }\n ]\n }\n },\n {\n \"\"id\"\":4668903563678912,\n \"\"definition\"\":{\n \"\"title\"\":\"\"Widget Title\"\",\n \"\"type\"\":\"\"slo\"\",\n \"\"view_type\"\":\"\"detail\"\",\n \"\"time_windows\"\":[\n \"\"7d\"\",\n \"\"previous_week\"\"\n ],\n \"\"slo_id\"\":\"\"56789\"\",\n \"\"show_error_budget\"\":true,\n \"\"view_mode\"\":\"\"overall\"\",\n \"\"global_time_target\"\":\"\"0\"\"\n }\n }\n ],\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"default\"\":\"\"aws\"\",\n \"\"prefix\"\":\"\"host\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"default\"\":\"\"autoscaling\"\",\n \"\"prefix\"\":\"\"service_name\"\"\n }\n ],\n \"\"layout_type\"\":\"\"ordered\"\",\n \"\"is_read_only\"\":true,\n \"\"notify_list\"\":[\n\n ],\n \"\"template_variable_presets\"\":[\n {\n \"\"name\"\":\"\"preset_1\"\",\n \"\"template_variables\"\":[\n {\n \"\"name\"\":\"\"var_1\"\",\n \"\"value\"\":\"\"host.dc\"\"\n },\n {\n \"\"name\"\":\"\"var_2\"\",\n \"\"value\"\":\"\"my_service\"\"\n }\n ]\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Dashboard JSON\n\t\t_, err := datadog.NewDashboardJson(ctx, \"dashboard_json\", \u0026datadog.DashboardJsonArgs{\n\t\t\tDashboard: pulumi.String(`{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DashboardJson;\nimport com.pulumi.datadog.DashboardJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Dashboard JSON\n var dashboardJson = new DashboardJson(\"dashboardJson\", DashboardJsonArgs.builder()\n .dashboard(\"\"\"\n{\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Dashboard JSON\n dashboardJson:\n type: datadog:DashboardJson\n name: dashboard_json\n properties:\n dashboard: |\n {\n \"title\":\"Ordered Layout Dashboard\",\n \"description\":\"Created using the Datadog provider in Pulumi\",\n \"widgets\":[\n {\n \"id\":719369537777170,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"895605\",\n \"viz_type\":\"timeseries\"\n }\n },\n {\n \"id\":2306240030393868,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":6990998850881326,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"alert_value\",\n \"alert_id\":\"895605\",\n \"unit\":\"b\",\n \"text_align\":\"center\",\n \"precision\":3\n }\n },\n {\n \"id\":3351284044659007,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"change\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"compare_to\":\"week_before\",\n \"change_type\":\"absolute\",\n \"order_dir\":\"desc\",\n \"increase_good\":true,\n \"order_by\":\"name\",\n \"show_present\":true\n }\n ]\n }\n },\n {\n \"id\":6450290622996182,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"distribution\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":4902842646291536,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"check_status\",\n \"check\":\"aws.ecs.agent_connected\",\n \"grouping\":\"cluster\",\n \"group_by\":[\n \"account\",\n \"cluster\"\n ],\n \"tags\":[\n \"account:demo\",\n \"cluster:awseb-ruthebdog-env-8-dn3m6u3gvk\"\n ]\n }\n },\n {\n \"id\":6392349954822644,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":false,\n \"type\":\"heatmap\",\n \"yaxis\":{\n \"scale\":\"sqrt\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2\"\n },\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"style\":{\n \"palette\":\"warm\"\n }\n }\n ]\n }\n },\n {\n \"id\":5222961478940988,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"hostmap\",\n \"requests\":{\n \"fill\":{\n \"q\":\"avg:system.load.1{*} by {host}\"\n },\n \"size\":{\n \"q\":\"avg:memcache.uptime{*} by {host}\"\n }\n },\n \"node_type\":\"container\",\n \"no_metric_hosts\":true,\n \"no_group_hosts\":true,\n \"group\":[\n \"host\",\n \"region\"\n ],\n \"scope\":[\n \"region:us-east-1\",\n \"aws_account:727006795293\"\n ],\n \"style\":{\n \"palette\":\"yellow_to_green\",\n \"palette_flip\":true,\n \"fill_min\":\"10\",\n \"fill_max\":\"20\"\n }\n }\n },\n {\n \"id\":8121199734227072,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"note text\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":1775856835833038,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_value\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ],\n \"autoscale\":true,\n \"custom_unit\":\"xx\",\n \"text_align\":\"right\",\n \"precision\":4\n }\n },\n {\n \"id\":8461455966625581,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"query_table\",\n \"requests\":[\n {\n \"q\":\"avg:system.load.1{env:staging} by {account}\",\n \"aggregator\":\"sum\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ],\n \"limit\":10\n }\n ]\n }\n },\n {\n \"id\":8660006349418736,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"scatterplot\",\n \"requests\":{\n \"x\":{\n \"q\":\"avg:system.cpu.user{*} by {service, account}\",\n \"aggregator\":\"max\"\n },\n \"y\":{\n \"q\":\"avg:system.mem.used{*} by {service, account}\",\n \"aggregator\":\"min\"\n }\n },\n \"xaxis\":{\n \"scale\":\"pow\",\n \"label\":\"x\",\n \"include_zero\":true,\n \"min\":\"1\",\n \"max\":\"2000\"\n },\n \"yaxis\":{\n \"scale\":\"log\",\n \"label\":\"y\",\n \"include_zero\":false,\n \"min\":\"5\",\n \"max\":\"2222\"\n },\n \"color_by_groups\":[\n \"account\",\n \"apm-role-group\"\n ]\n }\n },\n {\n \"id\":1669590772917638,\n \"definition\":{\n \"title\":\"env: prod, datacenter:dc1, service: master-db\",\n \"title_size\":\"16\",\n \"title_align\":\"left\",\n \"type\":\"servicemap\",\n \"service\":\"master-db\",\n \"filters\":[\n \"env:prod\",\n \"datacenter:dc1\"\n ]\n }\n },\n {\n \"id\":2138829058361817,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"show_legend\":true,\n \"legend_size\":\"2\",\n \"type\":\"timeseries\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"on_right_yaxis\":false,\n \"metadata\":[\n {\n \"expression\":\"avg:system.cpu.user{app:general} by {env}\",\n \"alias_name\":\"Alpha\"\n }\n ],\n \"style\":{\n \"palette\":\"warm\",\n \"line_type\":\"dashed\",\n \"line_width\":\"thin\"\n },\n \"display_type\":\"line\"\n },\n {\n \"on_right_yaxis\":false,\n \"log_query\":{\n \"index\":\"mcnulty\",\n \"search\":{\n \"query\":\"status:info\"\n },\n \"group_by\":[\n {\n \"facet\":\"host\",\n \"sort\":{\n \"facet\":\"@duration\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":10\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"area\"\n },\n {\n \"on_right_yaxis\":false,\n \"apm_query\":{\n \"index\":\"apm-search\",\n \"search\":{\n \"query\":\"type:web\"\n },\n \"group_by\":[\n {\n \"facet\":\"resource_name\",\n \"sort\":{\n \"facet\":\"@string_query.interval\",\n \"aggregation\":\"avg\",\n \"order\":\"desc\"\n },\n \"limit\":50\n }\n ],\n \"compute\":{\n \"facet\":\"@duration\",\n \"interval\":5000,\n \"aggregation\":\"avg\"\n }\n },\n \"display_type\":\"bars\"\n },\n {\n \"on_right_yaxis\":false,\n \"process_query\":{\n \"search_by\":\"error\",\n \"metric\":\"process.stat.cpu.total_pct\",\n \"limit\":50,\n \"filter_by\":[\n \"active\"\n ]\n },\n \"display_type\":\"area\"\n }\n ],\n \"yaxis\":{\n \"scale\":\"log\",\n \"include_zero\":false,\n \"max\":\"100\"\n },\n \"events\":[\n {\n \"q\":\"sources:test tags:1\"\n },\n {\n \"q\":\"sources:test tags:2\"\n }\n ],\n \"markers\":[\n {\n \"label\":\" z=6 \",\n \"value\":\"y = 4\",\n \"display_type\":\"error dashed\"\n },\n {\n \"label\":\" x=8 \",\n \"value\":\"10 \u003c y \u003c 999\",\n \"display_type\":\"ok solid\"\n }\n ]\n }\n },\n {\n \"id\":7307171374656551,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"toplist\",\n \"requests\":[\n {\n \"q\":\"avg:system.cpu.user{app:general} by {env}\",\n \"conditional_formats\":[\n {\n \"hide_value\":false,\n \"comparator\":\"\u003c\",\n \"palette\":\"white_on_green\",\n \"value\":2\n },\n {\n \"hide_value\":false,\n \"comparator\":\"\u003e\",\n \"palette\":\"white_on_red\",\n \"value\":2.2\n }\n ]\n }\n ]\n }\n },\n {\n \"id\":7086674838553258,\n \"definition\":{\n \"title\":\"Group Widget\",\n \"type\":\"group\",\n \"layout_type\":\"ordered\",\n \"widgets\":[\n {\n \"id\":3726092277657502,\n \"definition\":{\n \"type\":\"note\",\n \"content\":\"cluster note widget\",\n \"background_color\":\"pink\",\n \"font_size\":\"14\",\n \"text_align\":\"center\",\n \"show_tick\":true,\n \"tick_pos\":\"50%\",\n \"tick_edge\":\"left\"\n }\n },\n {\n \"id\":6376384650558057,\n \"definition\":{\n \"title\":\"Alert Graph\",\n \"type\":\"alert_graph\",\n \"alert_id\":\"123\",\n \"viz_type\":\"toplist\"\n }\n }\n ]\n }\n },\n {\n \"id\":4668903563678912,\n \"definition\":{\n \"title\":\"Widget Title\",\n \"type\":\"slo\",\n \"view_type\":\"detail\",\n \"time_windows\":[\n \"7d\",\n \"previous_week\"\n ],\n \"slo_id\":\"56789\",\n \"show_error_budget\":true,\n \"view_mode\":\"overall\",\n \"global_time_target\":\"0\"\n }\n }\n ],\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"default\":\"aws\",\n \"prefix\":\"host\"\n },\n {\n \"name\":\"var_2\",\n \"default\":\"autoscaling\",\n \"prefix\":\"service_name\"\n }\n ],\n \"layout_type\":\"ordered\",\n \"is_read_only\":true,\n \"notify_list\":[\n\n ],\n \"template_variable_presets\":[\n {\n \"name\":\"preset_1\",\n \"template_variables\":[\n {\n \"name\":\"var_1\",\n \"value\":\"host.dc\"\n },\n {\n \"name\":\"var_2\",\n \"value\":\"my_service\"\n }\n ]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/dashboardJson:DashboardJson my_service_dashboard sv7-gyh-kas\n```\n\n", "properties": { "dashboard": { "type": "string", @@ -74634,7 +74634,7 @@ } }, "datadog:index/dashboardList:DashboardList": { - "description": "Provides a Datadog dashboard_list resource. This can be used to create and manage Datadog Dashboard Lists and the individual dashboards within them.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst time = new datadog.Dashboard(\"time\", {\n title: \"TF Test Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"ordered\",\n isReadOnly: true,\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n }],\n});\nconst screen = new datadog.Dashboard(\"screen\", {\n title: \"TF Test Free Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"free\",\n isReadOnly: false,\n widgets: [{\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 43,\n width: 32,\n x: 5,\n y: 5,\n },\n }],\n});\n// Create a new Dashboard List with two Dashboards\nconst newList = new datadog.DashboardList(\"new_list\", {\n name: \"Automated Created List\",\n dashItems: [\n {\n type: \"custom_timeboard\",\n dashId: time.id,\n },\n {\n type: \"custom_screenboard\",\n dashId: screen.id,\n },\n ],\n}, {\n dependsOn: [\n screen,\n time,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntime = datadog.Dashboard(\"time\",\n title=\"TF Test Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"ordered\",\n is_read_only=True,\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n )])\nscreen = datadog.Dashboard(\"screen\",\n title=\"TF Test Free Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"free\",\n is_read_only=False,\n widgets=[datadog.DashboardWidgetArgs(\n event_stream_definition=datadog.DashboardWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=43,\n width=32,\n x=5,\n y=5,\n ),\n )])\n# Create a new Dashboard List with two Dashboards\nnew_list = datadog.DashboardList(\"new_list\",\n name=\"Automated Created List\",\n dash_items=[\n datadog.DashboardListDashItemArgs(\n type=\"custom_timeboard\",\n dash_id=time.id,\n ),\n datadog.DashboardListDashItemArgs(\n type=\"custom_screenboard\",\n dash_id=screen.id,\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n screen,\n time,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var time = new Datadog.Dashboard(\"time\", new()\n {\n Title = \"TF Test Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"ordered\",\n IsReadOnly = true,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n },\n });\n\n var screen = new Datadog.Dashboard(\"screen\", new()\n {\n Title = \"TF Test Free Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"free\",\n IsReadOnly = false,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.DashboardWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 43,\n Width = 32,\n X = 5,\n Y = 5,\n },\n },\n },\n });\n\n // Create a new Dashboard List with two Dashboards\n var newList = new Datadog.DashboardList(\"new_list\", new()\n {\n Name = \"Automated Created List\",\n DashItems = new[]\n {\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_timeboard\",\n DashId = time.Id,\n },\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_screenboard\",\n DashId = screen.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n screen,\n time,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttime, err := datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tscreen, err := datadog.NewDashboard(ctx, \"screen\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Free Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"free\"),\n\t\t\tIsReadOnly: pulumi.Bool(false),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.DashboardWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(43),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(5),\n\t\t\t\t\t\tY: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Dashboard List with two Dashboards\n\t\t_, err = datadog.NewDashboardList(ctx, \"new_list\", \u0026datadog.DashboardListArgs{\n\t\t\tName: pulumi.String(\"Automated Created List\"),\n\t\t\tDashItems: datadog.DashboardListDashItemArray{\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_timeboard\"),\n\t\t\t\t\tDashId: time.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_screenboard\"),\n\t\t\t\t\tDashId: screen.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tscreen,\n\t\t\ttime,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetWidgetLayoutArgs;\nimport com.pulumi.datadog.DashboardList;\nimport com.pulumi.datadog.DashboardListArgs;\nimport com.pulumi.datadog.inputs.DashboardListDashItemArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var time = new Dashboard(\"time\", DashboardArgs.builder() \n .title(\"TF Test Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"ordered\")\n .isReadOnly(true)\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build());\n\n var screen = new Dashboard(\"screen\", DashboardArgs.builder() \n .title(\"TF Test Free Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"free\")\n .isReadOnly(false)\n .widgets(DashboardWidgetArgs.builder()\n .eventStreamDefinition(DashboardWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(43)\n .width(32)\n .x(5)\n .y(5)\n .build())\n .build())\n .build());\n\n // Create a new Dashboard List with two Dashboards\n var newList = new DashboardList(\"newList\", DashboardListArgs.builder() \n .name(\"Automated Created List\")\n .dashItems( \n DashboardListDashItemArgs.builder()\n .type(\"custom_timeboard\")\n .dashId(time.id())\n .build(),\n DashboardListDashItemArgs.builder()\n .type(\"custom_screenboard\")\n .dashId(screen.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n screen,\n time)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Dashboard List with two Dashboards\n newList:\n type: datadog:DashboardList\n name: new_list\n properties:\n name: Automated Created List\n dashItems:\n - type: custom_timeboard\n dashId: ${time.id}\n - type: custom_screenboard\n dashId: ${screen.id}\n options:\n dependson:\n - ${screen}\n - ${time}\n time:\n type: datadog:Dashboard\n properties:\n title: TF Test Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: ordered\n isReadOnly: true\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\n screen:\n type: datadog:Dashboard\n properties:\n title: TF Test Free Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: free\n isReadOnly: false\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 43\n width: 32\n x: 5\n y: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/dashboardList:DashboardList new_list 123456\n```\n\n", + "description": "Provides a Datadog dashboard_list resource. This can be used to create and manage Datadog Dashboard Lists and the individual dashboards within them.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst time = new datadog.Dashboard(\"time\", {\n title: \"TF Test Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"ordered\",\n isReadOnly: true,\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n }],\n});\nconst screen = new datadog.Dashboard(\"screen\", {\n title: \"TF Test Free Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n layoutType: \"free\",\n isReadOnly: false,\n widgets: [{\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"left\",\n liveSpan: \"1h\",\n },\n widgetLayout: {\n height: 43,\n width: 32,\n x: 5,\n y: 5,\n },\n }],\n});\n// Create a new Dashboard List with two Dashboards\nconst newList = new datadog.DashboardList(\"new_list\", {\n name: \"Automated Created List\",\n dashItems: [\n {\n type: \"custom_timeboard\",\n dashId: time.id,\n },\n {\n type: \"custom_screenboard\",\n dashId: screen.id,\n },\n ],\n}, {\n dependsOn: [\n screen,\n time,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntime = datadog.Dashboard(\"time\",\n title=\"TF Test Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"ordered\",\n is_read_only=True,\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n )])\nscreen = datadog.Dashboard(\"screen\",\n title=\"TF Test Free Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n layout_type=\"free\",\n is_read_only=False,\n widgets=[datadog.DashboardWidgetArgs(\n event_stream_definition=datadog.DashboardWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"left\",\n live_span=\"1h\",\n ),\n widget_layout=datadog.DashboardWidgetWidgetLayoutArgs(\n height=43,\n width=32,\n x=5,\n y=5,\n ),\n )])\n# Create a new Dashboard List with two Dashboards\nnew_list = datadog.DashboardList(\"new_list\",\n name=\"Automated Created List\",\n dash_items=[\n datadog.DashboardListDashItemArgs(\n type=\"custom_timeboard\",\n dash_id=time.id,\n ),\n datadog.DashboardListDashItemArgs(\n type=\"custom_screenboard\",\n dash_id=screen.id,\n ),\n ],\n opts=pulumi.ResourceOptions(depends_on=[\n screen,\n time,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var time = new Datadog.Dashboard(\"time\", new()\n {\n Title = \"TF Test Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"ordered\",\n IsReadOnly = true,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n },\n });\n\n var screen = new Datadog.Dashboard(\"screen\", new()\n {\n Title = \"TF Test Free Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n LayoutType = \"free\",\n IsReadOnly = false,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.DashboardWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"left\",\n LiveSpan = \"1h\",\n },\n WidgetLayout = new Datadog.Inputs.DashboardWidgetWidgetLayoutArgs\n {\n Height = 43,\n Width = 32,\n X = 5,\n Y = 5,\n },\n },\n },\n });\n\n // Create a new Dashboard List with two Dashboards\n var newList = new Datadog.DashboardList(\"new_list\", new()\n {\n Name = \"Automated Created List\",\n DashItems = new[]\n {\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_timeboard\",\n DashId = time.Id,\n },\n new Datadog.Inputs.DashboardListDashItemArgs\n {\n Type = \"custom_screenboard\",\n DashId = screen.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n screen,\n time,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttime, err := datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tscreen, err := datadog.NewDashboard(ctx, \"screen\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Free Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tLayoutType: pulumi.String(\"free\"),\n\t\t\tIsReadOnly: pulumi.Bool(false),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.DashboardWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"left\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t\tWidgetLayout: \u0026datadog.DashboardWidgetWidgetLayoutArgs{\n\t\t\t\t\t\tHeight: pulumi.Int(43),\n\t\t\t\t\t\tWidth: pulumi.Int(32),\n\t\t\t\t\t\tX: pulumi.Int(5),\n\t\t\t\t\t\tY: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Dashboard List with two Dashboards\n\t\t_, err = datadog.NewDashboardList(ctx, \"new_list\", \u0026datadog.DashboardListArgs{\n\t\t\tName: pulumi.String(\"Automated Created List\"),\n\t\t\tDashItems: datadog.DashboardListDashItemArray{\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_timeboard\"),\n\t\t\t\t\tDashId: time.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.DashboardListDashItemArgs{\n\t\t\t\t\tType: pulumi.String(\"custom_screenboard\"),\n\t\t\t\t\tDashId: screen.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tscreen,\n\t\t\ttime,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetEventStreamDefinitionArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetWidgetLayoutArgs;\nimport com.pulumi.datadog.DashboardList;\nimport com.pulumi.datadog.DashboardListArgs;\nimport com.pulumi.datadog.inputs.DashboardListDashItemArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var time = new Dashboard(\"time\", DashboardArgs.builder()\n .title(\"TF Test Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"ordered\")\n .isReadOnly(true)\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build());\n\n var screen = new Dashboard(\"screen\", DashboardArgs.builder()\n .title(\"TF Test Free Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .layoutType(\"free\")\n .isReadOnly(false)\n .widgets(DashboardWidgetArgs.builder()\n .eventStreamDefinition(DashboardWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"left\")\n .liveSpan(\"1h\")\n .build())\n .widgetLayout(DashboardWidgetWidgetLayoutArgs.builder()\n .height(43)\n .width(32)\n .x(5)\n .y(5)\n .build())\n .build())\n .build());\n\n // Create a new Dashboard List with two Dashboards\n var newList = new DashboardList(\"newList\", DashboardListArgs.builder()\n .name(\"Automated Created List\")\n .dashItems( \n DashboardListDashItemArgs.builder()\n .type(\"custom_timeboard\")\n .dashId(time.id())\n .build(),\n DashboardListDashItemArgs.builder()\n .type(\"custom_screenboard\")\n .dashId(screen.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n screen,\n time)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Dashboard List with two Dashboards\n newList:\n type: datadog:DashboardList\n name: new_list\n properties:\n name: Automated Created List\n dashItems:\n - type: custom_timeboard\n dashId: ${time.id}\n - type: custom_screenboard\n dashId: ${screen.id}\n options:\n dependson:\n - ${screen}\n - ${time}\n time:\n type: datadog:Dashboard\n properties:\n title: TF Test Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: ordered\n isReadOnly: true\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\n screen:\n type: datadog:Dashboard\n properties:\n title: TF Test Free Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n layoutType: free\n isReadOnly: false\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: left\n liveSpan: 1h\n widgetLayout:\n height: 43\n width: 32\n x: 5\n y: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/dashboardList:DashboardList new_list 123456\n```\n\n", "properties": { "dashItems": { "type": "array", @@ -74882,7 +74882,7 @@ } }, "datadog:index/downtimeSchedule:DowntimeSchedule": { - "description": "Provides a Datadog DowntimeSchedule resource. This can be used to create and manage Datadog downtimes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DowntimeSchedule;\nimport com.pulumi.datadog.DowntimeScheduleArgs;\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 new downtime_schedule resource\n var downtimeScheduleExample = new DowntimeSchedule(\"downtimeScheduleExample\", DowntimeScheduleArgs.builder() \n .scope(\"env:us9-prod7 AND team:test123\")\n .monitorIdentifier(DowntimeScheduleMonitorIdentifierArgs.builder()\n .monitorTags( \n \"test:123\",\n \"data:test\")\n .build())\n .recurringSchedule(DowntimeScheduleRecurringScheduleArgs.builder()\n .recurrences(DowntimeScheduleRecurringScheduleRecurrenceArgs.builder()\n .duration(\"1h\")\n .rrule(\"FREQ=DAILY;INTERVAL=1\")\n .start(\"2050-01-02T03:04:05\")\n .build())\n .timezone(\"America/New_York\")\n .build())\n .displayTimezone(\"America/New_York\")\n .message(\"Message about the downtime\")\n .muteFirstRecoveryNotification(true)\n .notifyEndStates( \n \"alert\",\n \"warn\")\n .notifyEndTypes( \n \"canceled\",\n \"expired\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new downtime_schedule resource\n downtimeScheduleExample:\n type: datadog:DowntimeSchedule\n name: downtime_schedule_example\n properties:\n scope: env:us9-prod7 AND team:test123\n monitorIdentifier:\n - monitorTags:\n - test:123\n - data:test\n recurringSchedule:\n - recurrences:\n - duration: 1h\n rrule: FREQ=DAILY;INTERVAL=1\n start: 2050-01-02T03:04:05\n timezone: America/New_York\n displayTimezone: America/New_York\n message: Message about the downtime\n muteFirstRecoveryNotification: true\n notifyEndStates:\n - alert\n - warn\n notifyEndTypes:\n - canceled\n - expired\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/downtimeSchedule:DowntimeSchedule new_list \"00e000000-0000-1234-0000-000000000000\"\n```\n\n", + "description": "Provides a Datadog DowntimeSchedule resource. This can be used to create and manage Datadog downtimes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DowntimeSchedule;\nimport com.pulumi.datadog.DowntimeScheduleArgs;\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 new downtime_schedule resource\n var downtimeScheduleExample = new DowntimeSchedule(\"downtimeScheduleExample\", DowntimeScheduleArgs.builder()\n .scope(\"env:us9-prod7 AND team:test123\")\n .monitorIdentifier(DowntimeScheduleMonitorIdentifierArgs.builder()\n .monitorTags( \n \"test:123\",\n \"data:test\")\n .build())\n .recurringSchedule(DowntimeScheduleRecurringScheduleArgs.builder()\n .recurrences(DowntimeScheduleRecurringScheduleRecurrenceArgs.builder()\n .duration(\"1h\")\n .rrule(\"FREQ=DAILY;INTERVAL=1\")\n .start(\"2050-01-02T03:04:05\")\n .build())\n .timezone(\"America/New_York\")\n .build())\n .displayTimezone(\"America/New_York\")\n .message(\"Message about the downtime\")\n .muteFirstRecoveryNotification(true)\n .notifyEndStates( \n \"alert\",\n \"warn\")\n .notifyEndTypes( \n \"canceled\",\n \"expired\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new downtime_schedule resource\n downtimeScheduleExample:\n type: datadog:DowntimeSchedule\n name: downtime_schedule_example\n properties:\n scope: env:us9-prod7 AND team:test123\n monitorIdentifier:\n - monitorTags:\n - test:123\n - data:test\n recurringSchedule:\n - recurrences:\n - duration: 1h\n rrule: FREQ=DAILY;INTERVAL=1\n start: 2050-01-02T03:04:05\n timezone: America/New_York\n displayTimezone: America/New_York\n message: Message about the downtime\n muteFirstRecoveryNotification: true\n notifyEndStates:\n - alert\n - warn\n notifyEndTypes:\n - canceled\n - expired\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/downtimeSchedule:DowntimeSchedule new_list \"00e000000-0000-1234-0000-000000000000\"\n```\n\n", "properties": { "displayTimezone": { "type": "string", @@ -75074,7 +75074,7 @@ } }, "datadog:index/logsArchive:LogsArchive": { - "description": "Provides a Datadog Logs Archive API resource, which is used to create and manage Datadog logs archives.\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\nconst myS3Archive = new datadog.LogsArchive(\"my_s3_archive\", {\n name: \"my s3 archive\",\n query: \"service:myservice\",\n s3Archive: {\n bucket: \"my-bucket\",\n path: \"/path/foo\",\n accountId: \"001234567888\",\n roleName: \"my-role-name\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_s3_archive = datadog.LogsArchive(\"my_s3_archive\",\n name=\"my s3 archive\",\n query=\"service:myservice\",\n s3_archive=datadog.LogsArchiveS3ArchiveArgs(\n bucket=\"my-bucket\",\n path=\"/path/foo\",\n account_id=\"001234567888\",\n role_name=\"my-role-name\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myS3Archive = new Datadog.LogsArchive(\"my_s3_archive\", new()\n {\n Name = \"my s3 archive\",\n Query = \"service:myservice\",\n S3Archive = new Datadog.Inputs.LogsArchiveS3ArchiveArgs\n {\n Bucket = \"my-bucket\",\n Path = \"/path/foo\",\n AccountId = \"001234567888\",\n RoleName = \"my-role-name\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsArchive(ctx, \"my_s3_archive\", \u0026datadog.LogsArchiveArgs{\n\t\t\tName: pulumi.String(\"my s3 archive\"),\n\t\t\tQuery: pulumi.String(\"service:myservice\"),\n\t\t\tS3Archive: \u0026datadog.LogsArchiveS3ArchiveArgs{\n\t\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\t\tPath: pulumi.String(\"/path/foo\"),\n\t\t\t\tAccountId: pulumi.String(\"001234567888\"),\n\t\t\t\tRoleName: pulumi.String(\"my-role-name\"),\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.LogsArchive;\nimport com.pulumi.datadog.LogsArchiveArgs;\nimport com.pulumi.datadog.inputs.LogsArchiveS3ArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myS3Archive = new LogsArchive(\"myS3Archive\", LogsArchiveArgs.builder() \n .name(\"my s3 archive\")\n .query(\"service:myservice\")\n .s3Archive(LogsArchiveS3ArchiveArgs.builder()\n .bucket(\"my-bucket\")\n .path(\"/path/foo\")\n .accountId(\"001234567888\")\n .roleName(\"my-role-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myS3Archive:\n type: datadog:LogsArchive\n name: my_s3_archive\n properties:\n name: my s3 archive\n query: service:myservice\n s3Archive:\n bucket: my-bucket\n path: /path/foo\n accountId: '001234567888'\n roleName: my-role-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/logsArchive:LogsArchive my_s3_archive 1Aabc2_dfQPLnXy3HlfK4hi\n```\n\n", + "description": "Provides a Datadog Logs Archive API resource, which is used to create and manage Datadog logs archives.\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\nconst myS3Archive = new datadog.LogsArchive(\"my_s3_archive\", {\n name: \"my s3 archive\",\n query: \"service:myservice\",\n s3Archive: {\n bucket: \"my-bucket\",\n path: \"/path/foo\",\n accountId: \"001234567888\",\n roleName: \"my-role-name\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_s3_archive = datadog.LogsArchive(\"my_s3_archive\",\n name=\"my s3 archive\",\n query=\"service:myservice\",\n s3_archive=datadog.LogsArchiveS3ArchiveArgs(\n bucket=\"my-bucket\",\n path=\"/path/foo\",\n account_id=\"001234567888\",\n role_name=\"my-role-name\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myS3Archive = new Datadog.LogsArchive(\"my_s3_archive\", new()\n {\n Name = \"my s3 archive\",\n Query = \"service:myservice\",\n S3Archive = new Datadog.Inputs.LogsArchiveS3ArchiveArgs\n {\n Bucket = \"my-bucket\",\n Path = \"/path/foo\",\n AccountId = \"001234567888\",\n RoleName = \"my-role-name\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsArchive(ctx, \"my_s3_archive\", \u0026datadog.LogsArchiveArgs{\n\t\t\tName: pulumi.String(\"my s3 archive\"),\n\t\t\tQuery: pulumi.String(\"service:myservice\"),\n\t\t\tS3Archive: \u0026datadog.LogsArchiveS3ArchiveArgs{\n\t\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\t\tPath: pulumi.String(\"/path/foo\"),\n\t\t\t\tAccountId: pulumi.String(\"001234567888\"),\n\t\t\t\tRoleName: pulumi.String(\"my-role-name\"),\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.LogsArchive;\nimport com.pulumi.datadog.LogsArchiveArgs;\nimport com.pulumi.datadog.inputs.LogsArchiveS3ArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myS3Archive = new LogsArchive(\"myS3Archive\", LogsArchiveArgs.builder()\n .name(\"my s3 archive\")\n .query(\"service:myservice\")\n .s3Archive(LogsArchiveS3ArchiveArgs.builder()\n .bucket(\"my-bucket\")\n .path(\"/path/foo\")\n .accountId(\"001234567888\")\n .roleName(\"my-role-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myS3Archive:\n type: datadog:LogsArchive\n name: my_s3_archive\n properties:\n name: my s3 archive\n query: service:myservice\n s3Archive:\n bucket: my-bucket\n path: /path/foo\n accountId: '001234567888'\n roleName: my-role-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/logsArchive:LogsArchive my_s3_archive 1Aabc2_dfQPLnXy3HlfK4hi\n```\n\n", "properties": { "azureArchive": { "$ref": "#/types/datadog:index/LogsArchiveAzureArchive:LogsArchiveAzureArchive", @@ -75200,7 +75200,7 @@ } }, "datadog:index/logsArchiveOrder:LogsArchiveOrder": { - "description": "Provides a Datadog [Logs Archive API](https://docs.datadoghq.com/api/v2/logs-archives/) resource, which is used to manage Datadog log archives order.\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\nconst sampleArchiveOrder = new datadog.LogsArchiveOrder(\"sample_archive_order\", {archiveIds: [\n sampleArchive1.id,\n sampleArchive2.id,\n]});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_archive_order = datadog.LogsArchiveOrder(\"sample_archive_order\", archive_ids=[\n sample_archive1[\"id\"],\n sample_archive2[\"id\"],\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sampleArchiveOrder = new Datadog.LogsArchiveOrder(\"sample_archive_order\", new()\n {\n ArchiveIds = new[]\n {\n sampleArchive1.Id,\n sampleArchive2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsArchiveOrder(ctx, \"sample_archive_order\", \u0026datadog.LogsArchiveOrderArgs{\n\t\t\tArchiveIds: pulumi.StringArray{\n\t\t\t\tsampleArchive1.Id,\n\t\t\t\tsampleArchive2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsArchiveOrder;\nimport com.pulumi.datadog.LogsArchiveOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sampleArchiveOrder = new LogsArchiveOrder(\"sampleArchiveOrder\", LogsArchiveOrderArgs.builder() \n .archiveIds( \n sampleArchive1.id(),\n sampleArchive2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sampleArchiveOrder:\n type: datadog:LogsArchiveOrder\n name: sample_archive_order\n properties:\n archiveIds:\n - ${sampleArchive1.id}\n - ${sampleArchive2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThere must be at most one datadog_logs_archive_order resource. You can import the datadog_logs_archive_order or create an archive order.\n\n```sh\n$ pulumi import datadog:index/logsArchiveOrder:LogsArchiveOrder name\u003e archiveOrderID\n```\n\n", + "description": "Provides a Datadog [Logs Archive API](https://docs.datadoghq.com/api/v2/logs-archives/) resource, which is used to manage Datadog log archives order.\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\nconst sampleArchiveOrder = new datadog.LogsArchiveOrder(\"sample_archive_order\", {archiveIds: [\n sampleArchive1.id,\n sampleArchive2.id,\n]});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_archive_order = datadog.LogsArchiveOrder(\"sample_archive_order\", archive_ids=[\n sample_archive1[\"id\"],\n sample_archive2[\"id\"],\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sampleArchiveOrder = new Datadog.LogsArchiveOrder(\"sample_archive_order\", new()\n {\n ArchiveIds = new[]\n {\n sampleArchive1.Id,\n sampleArchive2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsArchiveOrder(ctx, \"sample_archive_order\", \u0026datadog.LogsArchiveOrderArgs{\n\t\t\tArchiveIds: pulumi.StringArray{\n\t\t\t\tsampleArchive1.Id,\n\t\t\t\tsampleArchive2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsArchiveOrder;\nimport com.pulumi.datadog.LogsArchiveOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sampleArchiveOrder = new LogsArchiveOrder(\"sampleArchiveOrder\", LogsArchiveOrderArgs.builder()\n .archiveIds( \n sampleArchive1.id(),\n sampleArchive2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sampleArchiveOrder:\n type: datadog:LogsArchiveOrder\n name: sample_archive_order\n properties:\n archiveIds:\n - ${sampleArchive1.id}\n - ${sampleArchive2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThere must be at most one datadog_logs_archive_order resource. You can import the datadog_logs_archive_order or create an archive order.\n\n```sh\n$ pulumi import datadog:index/logsArchiveOrder:LogsArchiveOrder name\u003e archiveOrderID\n```\n\n", "properties": { "archiveIds": { "type": "array", @@ -75237,7 +75237,7 @@ } }, "datadog:index/logsCustomPipeline:LogsCustomPipeline": { - "description": "Provides a Datadog [Logs Pipeline API](https://docs.datadoghq.com/api/v1/logs-pipelines/) resource, which is used to create and manage Datadog logs custom pipelines. Each `datadog.LogsCustomPipeline` resource defines a complete pipeline. The order of the pipelines is maintained in a different resource: `datadog.LogsPipelineOrder`. When creating a new pipeline, you need to **explicitly** add this pipeline to the `datadog.LogsPipelineOrder` resource to track the pipeline. Similarly, when a pipeline needs to be destroyed, remove its references from the `datadog.LogsPipelineOrder` resource.\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\nconst samplePipeline = new datadog.LogsCustomPipeline(\"sample_pipeline\", {\n filters: [{\n query: \"source:foo\",\n }],\n name: \"sample pipeline\",\n isEnabled: true,\n processors: [\n {\n arithmeticProcessor: {\n expression: \"(time1 - time2)*1000\",\n target: \"my_arithmetic\",\n isReplaceMissing: true,\n name: \"sample arithmetic processor\",\n isEnabled: true,\n },\n },\n {\n attributeRemapper: {\n sources: [\"db.instance\"],\n sourceType: \"tag\",\n target: \"db\",\n targetType: \"attribute\",\n targetFormat: \"string\",\n preserveSource: true,\n overrideOnConflict: false,\n name: \"sample attribute processor\",\n isEnabled: true,\n },\n },\n {\n categoryProcessor: {\n target: \"foo.severity\",\n categories: [\n {\n name: \"debug\",\n filter: {\n query: \"@severity: \\\".\\\"\",\n },\n },\n {\n name: \"verbose\",\n filter: {\n query: \"@severity: \\\"-\\\"\",\n },\n },\n ],\n name: \"sample category processor\",\n isEnabled: true,\n },\n },\n {\n dateRemapper: {\n sources: [\n \"_timestamp\",\n \"published_date\",\n ],\n name: \"sample date remapper\",\n isEnabled: true,\n },\n },\n {\n geoIpParser: {\n sources: [\"network.client.ip\"],\n target: \"network.client.geoip\",\n name: \"sample geo ip parser\",\n isEnabled: true,\n },\n },\n {\n grokParser: {\n samples: [\"sample log 1\"],\n source: \"message\",\n grok: {\n supportRules: \"\",\n matchRules: \"Rule %{word:my_word2} %{number:my_float2}\",\n },\n name: \"sample grok parser\",\n isEnabled: true,\n },\n },\n {\n lookupProcessor: {\n source: \"service_id\",\n target: \"service_name\",\n lookupTables: [\"1,my service\"],\n defaultLookup: \"unknown service\",\n name: \"sample lookup processor\",\n isEnabled: true,\n },\n },\n {\n messageRemapper: {\n sources: [\"msg\"],\n name: \"sample message remapper\",\n isEnabled: true,\n },\n },\n {\n pipeline: {\n filters: [{\n query: \"source:foo\",\n }],\n processors: [{\n urlParser: {\n name: \"sample url parser\",\n sources: [\n \"url\",\n \"extra\",\n ],\n target: \"http_url\",\n normalizeEndingSlashes: true,\n },\n }],\n name: \"nested pipeline\",\n isEnabled: true,\n },\n },\n {\n serviceRemapper: {\n sources: [\"service\"],\n name: \"sample service remapper\",\n isEnabled: true,\n },\n },\n {\n statusRemapper: {\n sources: [\n \"info\",\n \"trace\",\n ],\n name: \"sample status remapper\",\n isEnabled: true,\n },\n },\n {\n stringBuilderProcessor: {\n target: \"user_activity\",\n template: \"%{user.name} logged in at %{timestamp}\",\n name: \"sample string builder processor\",\n isEnabled: true,\n isReplaceMissing: false,\n },\n },\n {\n traceIdRemapper: {\n sources: [\"dd.trace_id\"],\n name: \"sample trace id remapper\",\n isEnabled: true,\n },\n },\n {\n userAgentParser: {\n sources: [\n \"user\",\n \"agent\",\n ],\n target: \"http_agent\",\n isEncoded: false,\n name: \"sample user agent parser\",\n isEnabled: true,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_pipeline = datadog.LogsCustomPipeline(\"sample_pipeline\",\n filters=[datadog.LogsCustomPipelineFilterArgs(\n query=\"source:foo\",\n )],\n name=\"sample pipeline\",\n is_enabled=True,\n processors=[\n datadog.LogsCustomPipelineProcessorArgs(\n arithmetic_processor=datadog.LogsCustomPipelineProcessorArithmeticProcessorArgs(\n expression=\"(time1 - time2)*1000\",\n target=\"my_arithmetic\",\n is_replace_missing=True,\n name=\"sample arithmetic processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n attribute_remapper=datadog.LogsCustomPipelineProcessorAttributeRemapperArgs(\n sources=[\"db.instance\"],\n source_type=\"tag\",\n target=\"db\",\n target_type=\"attribute\",\n target_format=\"string\",\n preserve_source=True,\n override_on_conflict=False,\n name=\"sample attribute processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n category_processor=datadog.LogsCustomPipelineProcessorCategoryProcessorArgs(\n target=\"foo.severity\",\n categories=[\n datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs(\n name=\"debug\",\n filter=datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs(\n query=\"@severity: \\\".\\\"\",\n ),\n ),\n datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs(\n name=\"verbose\",\n filter=datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs(\n query=\"@severity: \\\"-\\\"\",\n ),\n ),\n ],\n name=\"sample category processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n date_remapper=datadog.LogsCustomPipelineProcessorDateRemapperArgs(\n sources=[\n \"_timestamp\",\n \"published_date\",\n ],\n name=\"sample date remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n geo_ip_parser=datadog.LogsCustomPipelineProcessorGeoIpParserArgs(\n sources=[\"network.client.ip\"],\n target=\"network.client.geoip\",\n name=\"sample geo ip parser\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n grok_parser=datadog.LogsCustomPipelineProcessorGrokParserArgs(\n samples=[\"sample log 1\"],\n source=\"message\",\n grok=datadog.LogsCustomPipelineProcessorGrokParserGrokArgs(\n support_rules=\"\",\n match_rules=\"Rule %{word:my_word2} %{number:my_float2}\",\n ),\n name=\"sample grok parser\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n lookup_processor=datadog.LogsCustomPipelineProcessorLookupProcessorArgs(\n source=\"service_id\",\n target=\"service_name\",\n lookup_tables=[\"1,my service\"],\n default_lookup=\"unknown service\",\n name=\"sample lookup processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n message_remapper=datadog.LogsCustomPipelineProcessorMessageRemapperArgs(\n sources=[\"msg\"],\n name=\"sample message remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n pipeline=datadog.LogsCustomPipelineProcessorPipelineArgs(\n filters=[datadog.LogsCustomPipelineProcessorPipelineFilterArgs(\n query=\"source:foo\",\n )],\n processors=[datadog.LogsCustomPipelineProcessorPipelineProcessorArgs(\n url_parser=datadog.LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs(\n name=\"sample url parser\",\n sources=[\n \"url\",\n \"extra\",\n ],\n target=\"http_url\",\n normalize_ending_slashes=True,\n ),\n )],\n name=\"nested pipeline\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n service_remapper=datadog.LogsCustomPipelineProcessorServiceRemapperArgs(\n sources=[\"service\"],\n name=\"sample service remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n status_remapper=datadog.LogsCustomPipelineProcessorStatusRemapperArgs(\n sources=[\n \"info\",\n \"trace\",\n ],\n name=\"sample status remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n string_builder_processor=datadog.LogsCustomPipelineProcessorStringBuilderProcessorArgs(\n target=\"user_activity\",\n template=\"%{user.name} logged in at %{timestamp}\",\n name=\"sample string builder processor\",\n is_enabled=True,\n is_replace_missing=False,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n trace_id_remapper=datadog.LogsCustomPipelineProcessorTraceIdRemapperArgs(\n sources=[\"dd.trace_id\"],\n name=\"sample trace id remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n user_agent_parser=datadog.LogsCustomPipelineProcessorUserAgentParserArgs(\n sources=[\n \"user\",\n \"agent\",\n ],\n target=\"http_agent\",\n is_encoded=False,\n name=\"sample user agent parser\",\n is_enabled=True,\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var samplePipeline = new Datadog.LogsCustomPipeline(\"sample_pipeline\", new()\n {\n Filters = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineFilterArgs\n {\n Query = \"source:foo\",\n },\n },\n Name = \"sample pipeline\",\n IsEnabled = true,\n Processors = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n ArithmeticProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorArithmeticProcessorArgs\n {\n Expression = \"(time1 - time2)*1000\",\n Target = \"my_arithmetic\",\n IsReplaceMissing = true,\n Name = \"sample arithmetic processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n AttributeRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorAttributeRemapperArgs\n {\n Sources = new[]\n {\n \"db.instance\",\n },\n SourceType = \"tag\",\n Target = \"db\",\n TargetType = \"attribute\",\n TargetFormat = \"string\",\n PreserveSource = true,\n OverrideOnConflict = false,\n Name = \"sample attribute processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n CategoryProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorArgs\n {\n Target = \"foo.severity\",\n Categories = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs\n {\n Name = \"debug\",\n Filter = new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs\n {\n Query = \"@severity: \\\".\\\"\",\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs\n {\n Name = \"verbose\",\n Filter = new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs\n {\n Query = \"@severity: \\\"-\\\"\",\n },\n },\n },\n Name = \"sample category processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n DateRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorDateRemapperArgs\n {\n Sources = new[]\n {\n \"_timestamp\",\n \"published_date\",\n },\n Name = \"sample date remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n GeoIpParser = new Datadog.Inputs.LogsCustomPipelineProcessorGeoIpParserArgs\n {\n Sources = new[]\n {\n \"network.client.ip\",\n },\n Target = \"network.client.geoip\",\n Name = \"sample geo ip parser\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n GrokParser = new Datadog.Inputs.LogsCustomPipelineProcessorGrokParserArgs\n {\n Samples = new[]\n {\n \"sample log 1\",\n },\n Source = \"message\",\n Grok = new Datadog.Inputs.LogsCustomPipelineProcessorGrokParserGrokArgs\n {\n SupportRules = \"\",\n MatchRules = \"Rule %{word:my_word2} %{number:my_float2}\",\n },\n Name = \"sample grok parser\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n LookupProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorLookupProcessorArgs\n {\n Source = \"service_id\",\n Target = \"service_name\",\n LookupTables = new[]\n {\n \"1,my service\",\n },\n DefaultLookup = \"unknown service\",\n Name = \"sample lookup processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n MessageRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorMessageRemapperArgs\n {\n Sources = new[]\n {\n \"msg\",\n },\n Name = \"sample message remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n Pipeline = new Datadog.Inputs.LogsCustomPipelineProcessorPipelineArgs\n {\n Filters = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorPipelineFilterArgs\n {\n Query = \"source:foo\",\n },\n },\n Processors = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorPipelineProcessorArgs\n {\n UrlParser = new Datadog.Inputs.LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs\n {\n Name = \"sample url parser\",\n Sources = new[]\n {\n \"url\",\n \"extra\",\n },\n Target = \"http_url\",\n NormalizeEndingSlashes = true,\n },\n },\n },\n Name = \"nested pipeline\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n ServiceRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorServiceRemapperArgs\n {\n Sources = new[]\n {\n \"service\",\n },\n Name = \"sample service remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n StatusRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorStatusRemapperArgs\n {\n Sources = new[]\n {\n \"info\",\n \"trace\",\n },\n Name = \"sample status remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n StringBuilderProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorStringBuilderProcessorArgs\n {\n Target = \"user_activity\",\n Template = \"%{user.name} logged in at %{timestamp}\",\n Name = \"sample string builder processor\",\n IsEnabled = true,\n IsReplaceMissing = false,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n TraceIdRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorTraceIdRemapperArgs\n {\n Sources = new[]\n {\n \"dd.trace_id\",\n },\n Name = \"sample trace id remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n UserAgentParser = new Datadog.Inputs.LogsCustomPipelineProcessorUserAgentParserArgs\n {\n Sources = new[]\n {\n \"user\",\n \"agent\",\n },\n Target = \"http_agent\",\n IsEncoded = false,\n Name = \"sample user agent parser\",\n IsEnabled = true,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsCustomPipeline(ctx, \"sample_pipeline\", \u0026datadog.LogsCustomPipelineArgs{\n\t\t\tFilters: datadog.LogsCustomPipelineFilterArray{\n\t\t\t\t\u0026datadog.LogsCustomPipelineFilterArgs{\n\t\t\t\t\tQuery: pulumi.String(\"source:foo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"sample pipeline\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tProcessors: datadog.LogsCustomPipelineProcessorArray{\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tArithmeticProcessor: \u0026datadog.LogsCustomPipelineProcessorArithmeticProcessorArgs{\n\t\t\t\t\t\tExpression: pulumi.String(\"(time1 - time2)*1000\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"my_arithmetic\"),\n\t\t\t\t\t\tIsReplaceMissing: pulumi.Bool(true),\n\t\t\t\t\t\tName: pulumi.String(\"sample arithmetic processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tAttributeRemapper: \u0026datadog.LogsCustomPipelineProcessorAttributeRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"db.instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSourceType: pulumi.String(\"tag\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"db\"),\n\t\t\t\t\t\tTargetType: pulumi.String(\"attribute\"),\n\t\t\t\t\t\tTargetFormat: pulumi.String(\"string\"),\n\t\t\t\t\t\tPreserveSource: pulumi.Bool(true),\n\t\t\t\t\t\tOverrideOnConflict: pulumi.Bool(false),\n\t\t\t\t\t\tName: pulumi.String(\"sample attribute processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tCategoryProcessor: \u0026datadog.LogsCustomPipelineProcessorCategoryProcessorArgs{\n\t\t\t\t\t\tTarget: pulumi.String(\"foo.severity\"),\n\t\t\t\t\t\tCategories: datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArray{\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"debug\"),\n\t\t\t\t\t\t\t\tFilter: \u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs{\n\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"@severity: \\\".\\\"\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"verbose\"),\n\t\t\t\t\t\t\t\tFilter: \u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs{\n\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"@severity: \\\"-\\\"\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample category processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tDateRemapper: \u0026datadog.LogsCustomPipelineProcessorDateRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"_timestamp\"),\n\t\t\t\t\t\t\tpulumi.String(\"published_date\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample date remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tGeoIpParser: \u0026datadog.LogsCustomPipelineProcessorGeoIpParserArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"network.client.ip\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTarget: pulumi.String(\"network.client.geoip\"),\n\t\t\t\t\t\tName: pulumi.String(\"sample geo ip parser\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tGrokParser: \u0026datadog.LogsCustomPipelineProcessorGrokParserArgs{\n\t\t\t\t\t\tSamples: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"sample log 1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSource: pulumi.String(\"message\"),\n\t\t\t\t\t\tGrok: \u0026datadog.LogsCustomPipelineProcessorGrokParserGrokArgs{\n\t\t\t\t\t\t\tSupportRules: pulumi.String(\"\"),\n\t\t\t\t\t\t\tMatchRules: pulumi.String(\"Rule %{word:my_word2} %{number:my_float2}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample grok parser\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tLookupProcessor: \u0026datadog.LogsCustomPipelineProcessorLookupProcessorArgs{\n\t\t\t\t\t\tSource: pulumi.String(\"service_id\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"service_name\"),\n\t\t\t\t\t\tLookupTables: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1,my service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDefaultLookup: pulumi.String(\"unknown service\"),\n\t\t\t\t\t\tName: pulumi.String(\"sample lookup processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tMessageRemapper: \u0026datadog.LogsCustomPipelineProcessorMessageRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"msg\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample message remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tPipeline: \u0026datadog.LogsCustomPipelineProcessorPipelineArgs{\n\t\t\t\t\t\tFilters: datadog.LogsCustomPipelineProcessorPipelineFilterArray{\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorPipelineFilterArgs{\n\t\t\t\t\t\t\t\tQuery: pulumi.String(\"source:foo\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tProcessors: datadog.LogsCustomPipelineProcessorPipelineProcessorArray{\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorPipelineProcessorArgs{\n\t\t\t\t\t\t\t\tUrlParser: \u0026datadog.LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"sample url parser\"),\n\t\t\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"url\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"extra\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"http_url\"),\n\t\t\t\t\t\t\t\t\tNormalizeEndingSlashes: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"nested pipeline\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tServiceRemapper: \u0026datadog.LogsCustomPipelineProcessorServiceRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample service remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tStatusRemapper: \u0026datadog.LogsCustomPipelineProcessorStatusRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"info\"),\n\t\t\t\t\t\t\tpulumi.String(\"trace\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample status remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tStringBuilderProcessor: \u0026datadog.LogsCustomPipelineProcessorStringBuilderProcessorArgs{\n\t\t\t\t\t\tTarget: pulumi.String(\"user_activity\"),\n\t\t\t\t\t\tTemplate: pulumi.String(\"%{user.name} logged in at %{timestamp}\"),\n\t\t\t\t\t\tName: pulumi.String(\"sample string builder processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tIsReplaceMissing: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tTraceIdRemapper: \u0026datadog.LogsCustomPipelineProcessorTraceIdRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"dd.trace_id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample trace id remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tUserAgentParser: \u0026datadog.LogsCustomPipelineProcessorUserAgentParserArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"user\"),\n\t\t\t\t\t\t\tpulumi.String(\"agent\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTarget: pulumi.String(\"http_agent\"),\n\t\t\t\t\t\tIsEncoded: pulumi.Bool(false),\n\t\t\t\t\t\tName: pulumi.String(\"sample user agent parser\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsCustomPipeline;\nimport com.pulumi.datadog.LogsCustomPipelineArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineFilterArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorArithmeticProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorAttributeRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorCategoryProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorDateRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorGeoIpParserArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorGrokParserArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorGrokParserGrokArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorLookupProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorMessageRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorPipelineArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorServiceRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorStatusRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorStringBuilderProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorTraceIdRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorUserAgentParserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var samplePipeline = new LogsCustomPipeline(\"samplePipeline\", LogsCustomPipelineArgs.builder() \n .filters(LogsCustomPipelineFilterArgs.builder()\n .query(\"source:foo\")\n .build())\n .name(\"sample pipeline\")\n .isEnabled(true)\n .processors( \n LogsCustomPipelineProcessorArgs.builder()\n .arithmeticProcessor(LogsCustomPipelineProcessorArithmeticProcessorArgs.builder()\n .expression(\"(time1 - time2)*1000\")\n .target(\"my_arithmetic\")\n .isReplaceMissing(true)\n .name(\"sample arithmetic processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .attributeRemapper(LogsCustomPipelineProcessorAttributeRemapperArgs.builder()\n .sources(\"db.instance\")\n .sourceType(\"tag\")\n .target(\"db\")\n .targetType(\"attribute\")\n .targetFormat(\"string\")\n .preserveSource(true)\n .overrideOnConflict(false)\n .name(\"sample attribute processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .categoryProcessor(LogsCustomPipelineProcessorCategoryProcessorArgs.builder()\n .target(\"foo.severity\")\n .categories( \n LogsCustomPipelineProcessorCategoryProcessorCategoryArgs.builder()\n .name(\"debug\")\n .filter(LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs.builder()\n .query(\"@severity: \\\".\\\"\")\n .build())\n .build(),\n LogsCustomPipelineProcessorCategoryProcessorCategoryArgs.builder()\n .name(\"verbose\")\n .filter(LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs.builder()\n .query(\"@severity: \\\"-\\\"\")\n .build())\n .build())\n .name(\"sample category processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .dateRemapper(LogsCustomPipelineProcessorDateRemapperArgs.builder()\n .sources( \n \"_timestamp\",\n \"published_date\")\n .name(\"sample date remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .geoIpParser(LogsCustomPipelineProcessorGeoIpParserArgs.builder()\n .sources(\"network.client.ip\")\n .target(\"network.client.geoip\")\n .name(\"sample geo ip parser\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .grokParser(LogsCustomPipelineProcessorGrokParserArgs.builder()\n .samples(\"sample log 1\")\n .source(\"message\")\n .grok(LogsCustomPipelineProcessorGrokParserGrokArgs.builder()\n .supportRules(\"\")\n .matchRules(\"Rule %{word:my_word2} %{number:my_float2}\")\n .build())\n .name(\"sample grok parser\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .lookupProcessor(LogsCustomPipelineProcessorLookupProcessorArgs.builder()\n .source(\"service_id\")\n .target(\"service_name\")\n .lookupTables(\"1,my service\")\n .defaultLookup(\"unknown service\")\n .name(\"sample lookup processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .messageRemapper(LogsCustomPipelineProcessorMessageRemapperArgs.builder()\n .sources(\"msg\")\n .name(\"sample message remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .pipeline(LogsCustomPipelineProcessorPipelineArgs.builder()\n .filters(LogsCustomPipelineProcessorPipelineFilterArgs.builder()\n .query(\"source:foo\")\n .build())\n .processors(LogsCustomPipelineProcessorPipelineProcessorArgs.builder()\n .urlParser(LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs.builder()\n .name(\"sample url parser\")\n .sources( \n \"url\",\n \"extra\")\n .target(\"http_url\")\n .normalizeEndingSlashes(true)\n .build())\n .build())\n .name(\"nested pipeline\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .serviceRemapper(LogsCustomPipelineProcessorServiceRemapperArgs.builder()\n .sources(\"service\")\n .name(\"sample service remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .statusRemapper(LogsCustomPipelineProcessorStatusRemapperArgs.builder()\n .sources( \n \"info\",\n \"trace\")\n .name(\"sample status remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .stringBuilderProcessor(LogsCustomPipelineProcessorStringBuilderProcessorArgs.builder()\n .target(\"user_activity\")\n .template(\"%{user.name} logged in at %{timestamp}\")\n .name(\"sample string builder processor\")\n .isEnabled(true)\n .isReplaceMissing(false)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .traceIdRemapper(LogsCustomPipelineProcessorTraceIdRemapperArgs.builder()\n .sources(\"dd.trace_id\")\n .name(\"sample trace id remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .userAgentParser(LogsCustomPipelineProcessorUserAgentParserArgs.builder()\n .sources( \n \"user\",\n \"agent\")\n .target(\"http_agent\")\n .isEncoded(false)\n .name(\"sample user agent parser\")\n .isEnabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n samplePipeline:\n type: datadog:LogsCustomPipeline\n name: sample_pipeline\n properties:\n filters:\n - query: source:foo\n name: sample pipeline\n isEnabled: true\n processors:\n - arithmeticProcessor:\n expression: (time1 - time2)*1000\n target: my_arithmetic\n isReplaceMissing: true\n name: sample arithmetic processor\n isEnabled: true\n - attributeRemapper:\n sources:\n - db.instance\n sourceType: tag\n target: db\n targetType: attribute\n targetFormat: string\n preserveSource: true\n overrideOnConflict: false\n name: sample attribute processor\n isEnabled: true\n - categoryProcessor:\n target: foo.severity\n categories:\n - name: debug\n filter:\n query: '@severity: \".\"'\n - name: verbose\n filter:\n query: '@severity: \"-\"'\n name: sample category processor\n isEnabled: true\n - dateRemapper:\n sources:\n - _timestamp\n - published_date\n name: sample date remapper\n isEnabled: true\n - geoIpParser:\n sources:\n - network.client.ip\n target: network.client.geoip\n name: sample geo ip parser\n isEnabled: true\n - grokParser:\n samples:\n - sample log 1\n source: message\n grok:\n supportRules:\n matchRules: Rule %{word:my_word2} %{number:my_float2}\n name: sample grok parser\n isEnabled: true\n - lookupProcessor:\n source: service_id\n target: service_name\n lookupTables:\n - 1,my service\n defaultLookup: unknown service\n name: sample lookup processor\n isEnabled: true\n - messageRemapper:\n sources:\n - msg\n name: sample message remapper\n isEnabled: true\n - pipeline:\n filters:\n - query: source:foo\n processors:\n - urlParser:\n name: sample url parser\n sources:\n - url\n - extra\n target: http_url\n normalizeEndingSlashes: true\n name: nested pipeline\n isEnabled: true\n - serviceRemapper:\n sources:\n - service\n name: sample service remapper\n isEnabled: true\n - statusRemapper:\n sources:\n - info\n - trace\n name: sample status remapper\n isEnabled: true\n - stringBuilderProcessor:\n target: user_activity\n template: '%{user.name} logged in at %{timestamp}'\n name: sample string builder processor\n isEnabled: true\n isReplaceMissing: false\n - traceIdRemapper:\n sources:\n - dd.trace_id\n name: sample trace id remapper\n isEnabled: true\n - userAgentParser:\n sources:\n - user\n - agent\n target: http_agent\n isEncoded: false\n name: sample user agent parser\n isEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTo find the pipeline ID, click the \"edit\" button in the UI to open the pipeline details.\n\nThe pipeline ID is the last part of the URL.\n\n```sh\n$ pulumi import datadog:index/logsCustomPipeline:LogsCustomPipeline name\u003e \u003cpipelineID\u003e\n```\n\n", + "description": "Provides a Datadog [Logs Pipeline API](https://docs.datadoghq.com/api/v1/logs-pipelines/) resource, which is used to create and manage Datadog logs custom pipelines. Each `datadog.LogsCustomPipeline` resource defines a complete pipeline. The order of the pipelines is maintained in a different resource: `datadog.LogsPipelineOrder`. When creating a new pipeline, you need to **explicitly** add this pipeline to the `datadog.LogsPipelineOrder` resource to track the pipeline. Similarly, when a pipeline needs to be destroyed, remove its references from the `datadog.LogsPipelineOrder` resource.\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\nconst samplePipeline = new datadog.LogsCustomPipeline(\"sample_pipeline\", {\n filters: [{\n query: \"source:foo\",\n }],\n name: \"sample pipeline\",\n isEnabled: true,\n processors: [\n {\n arithmeticProcessor: {\n expression: \"(time1 - time2)*1000\",\n target: \"my_arithmetic\",\n isReplaceMissing: true,\n name: \"sample arithmetic processor\",\n isEnabled: true,\n },\n },\n {\n attributeRemapper: {\n sources: [\"db.instance\"],\n sourceType: \"tag\",\n target: \"db\",\n targetType: \"attribute\",\n targetFormat: \"string\",\n preserveSource: true,\n overrideOnConflict: false,\n name: \"sample attribute processor\",\n isEnabled: true,\n },\n },\n {\n categoryProcessor: {\n target: \"foo.severity\",\n categories: [\n {\n name: \"debug\",\n filter: {\n query: \"@severity: \\\".\\\"\",\n },\n },\n {\n name: \"verbose\",\n filter: {\n query: \"@severity: \\\"-\\\"\",\n },\n },\n ],\n name: \"sample category processor\",\n isEnabled: true,\n },\n },\n {\n dateRemapper: {\n sources: [\n \"_timestamp\",\n \"published_date\",\n ],\n name: \"sample date remapper\",\n isEnabled: true,\n },\n },\n {\n geoIpParser: {\n sources: [\"network.client.ip\"],\n target: \"network.client.geoip\",\n name: \"sample geo ip parser\",\n isEnabled: true,\n },\n },\n {\n grokParser: {\n samples: [\"sample log 1\"],\n source: \"message\",\n grok: {\n supportRules: \"\",\n matchRules: \"Rule %{word:my_word2} %{number:my_float2}\",\n },\n name: \"sample grok parser\",\n isEnabled: true,\n },\n },\n {\n lookupProcessor: {\n source: \"service_id\",\n target: \"service_name\",\n lookupTables: [\"1,my service\"],\n defaultLookup: \"unknown service\",\n name: \"sample lookup processor\",\n isEnabled: true,\n },\n },\n {\n messageRemapper: {\n sources: [\"msg\"],\n name: \"sample message remapper\",\n isEnabled: true,\n },\n },\n {\n pipeline: {\n filters: [{\n query: \"source:foo\",\n }],\n processors: [{\n urlParser: {\n name: \"sample url parser\",\n sources: [\n \"url\",\n \"extra\",\n ],\n target: \"http_url\",\n normalizeEndingSlashes: true,\n },\n }],\n name: \"nested pipeline\",\n isEnabled: true,\n },\n },\n {\n serviceRemapper: {\n sources: [\"service\"],\n name: \"sample service remapper\",\n isEnabled: true,\n },\n },\n {\n statusRemapper: {\n sources: [\n \"info\",\n \"trace\",\n ],\n name: \"sample status remapper\",\n isEnabled: true,\n },\n },\n {\n stringBuilderProcessor: {\n target: \"user_activity\",\n template: \"%{user.name} logged in at %{timestamp}\",\n name: \"sample string builder processor\",\n isEnabled: true,\n isReplaceMissing: false,\n },\n },\n {\n traceIdRemapper: {\n sources: [\"dd.trace_id\"],\n name: \"sample trace id remapper\",\n isEnabled: true,\n },\n },\n {\n userAgentParser: {\n sources: [\n \"user\",\n \"agent\",\n ],\n target: \"http_agent\",\n isEncoded: false,\n name: \"sample user agent parser\",\n isEnabled: true,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_pipeline = datadog.LogsCustomPipeline(\"sample_pipeline\",\n filters=[datadog.LogsCustomPipelineFilterArgs(\n query=\"source:foo\",\n )],\n name=\"sample pipeline\",\n is_enabled=True,\n processors=[\n datadog.LogsCustomPipelineProcessorArgs(\n arithmetic_processor=datadog.LogsCustomPipelineProcessorArithmeticProcessorArgs(\n expression=\"(time1 - time2)*1000\",\n target=\"my_arithmetic\",\n is_replace_missing=True,\n name=\"sample arithmetic processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n attribute_remapper=datadog.LogsCustomPipelineProcessorAttributeRemapperArgs(\n sources=[\"db.instance\"],\n source_type=\"tag\",\n target=\"db\",\n target_type=\"attribute\",\n target_format=\"string\",\n preserve_source=True,\n override_on_conflict=False,\n name=\"sample attribute processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n category_processor=datadog.LogsCustomPipelineProcessorCategoryProcessorArgs(\n target=\"foo.severity\",\n categories=[\n datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs(\n name=\"debug\",\n filter=datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs(\n query=\"@severity: \\\".\\\"\",\n ),\n ),\n datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs(\n name=\"verbose\",\n filter=datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs(\n query=\"@severity: \\\"-\\\"\",\n ),\n ),\n ],\n name=\"sample category processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n date_remapper=datadog.LogsCustomPipelineProcessorDateRemapperArgs(\n sources=[\n \"_timestamp\",\n \"published_date\",\n ],\n name=\"sample date remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n geo_ip_parser=datadog.LogsCustomPipelineProcessorGeoIpParserArgs(\n sources=[\"network.client.ip\"],\n target=\"network.client.geoip\",\n name=\"sample geo ip parser\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n grok_parser=datadog.LogsCustomPipelineProcessorGrokParserArgs(\n samples=[\"sample log 1\"],\n source=\"message\",\n grok=datadog.LogsCustomPipelineProcessorGrokParserGrokArgs(\n support_rules=\"\",\n match_rules=\"Rule %{word:my_word2} %{number:my_float2}\",\n ),\n name=\"sample grok parser\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n lookup_processor=datadog.LogsCustomPipelineProcessorLookupProcessorArgs(\n source=\"service_id\",\n target=\"service_name\",\n lookup_tables=[\"1,my service\"],\n default_lookup=\"unknown service\",\n name=\"sample lookup processor\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n message_remapper=datadog.LogsCustomPipelineProcessorMessageRemapperArgs(\n sources=[\"msg\"],\n name=\"sample message remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n pipeline=datadog.LogsCustomPipelineProcessorPipelineArgs(\n filters=[datadog.LogsCustomPipelineProcessorPipelineFilterArgs(\n query=\"source:foo\",\n )],\n processors=[datadog.LogsCustomPipelineProcessorPipelineProcessorArgs(\n url_parser=datadog.LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs(\n name=\"sample url parser\",\n sources=[\n \"url\",\n \"extra\",\n ],\n target=\"http_url\",\n normalize_ending_slashes=True,\n ),\n )],\n name=\"nested pipeline\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n service_remapper=datadog.LogsCustomPipelineProcessorServiceRemapperArgs(\n sources=[\"service\"],\n name=\"sample service remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n status_remapper=datadog.LogsCustomPipelineProcessorStatusRemapperArgs(\n sources=[\n \"info\",\n \"trace\",\n ],\n name=\"sample status remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n string_builder_processor=datadog.LogsCustomPipelineProcessorStringBuilderProcessorArgs(\n target=\"user_activity\",\n template=\"%{user.name} logged in at %{timestamp}\",\n name=\"sample string builder processor\",\n is_enabled=True,\n is_replace_missing=False,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n trace_id_remapper=datadog.LogsCustomPipelineProcessorTraceIdRemapperArgs(\n sources=[\"dd.trace_id\"],\n name=\"sample trace id remapper\",\n is_enabled=True,\n ),\n ),\n datadog.LogsCustomPipelineProcessorArgs(\n user_agent_parser=datadog.LogsCustomPipelineProcessorUserAgentParserArgs(\n sources=[\n \"user\",\n \"agent\",\n ],\n target=\"http_agent\",\n is_encoded=False,\n name=\"sample user agent parser\",\n is_enabled=True,\n ),\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var samplePipeline = new Datadog.LogsCustomPipeline(\"sample_pipeline\", new()\n {\n Filters = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineFilterArgs\n {\n Query = \"source:foo\",\n },\n },\n Name = \"sample pipeline\",\n IsEnabled = true,\n Processors = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n ArithmeticProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorArithmeticProcessorArgs\n {\n Expression = \"(time1 - time2)*1000\",\n Target = \"my_arithmetic\",\n IsReplaceMissing = true,\n Name = \"sample arithmetic processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n AttributeRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorAttributeRemapperArgs\n {\n Sources = new[]\n {\n \"db.instance\",\n },\n SourceType = \"tag\",\n Target = \"db\",\n TargetType = \"attribute\",\n TargetFormat = \"string\",\n PreserveSource = true,\n OverrideOnConflict = false,\n Name = \"sample attribute processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n CategoryProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorArgs\n {\n Target = \"foo.severity\",\n Categories = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs\n {\n Name = \"debug\",\n Filter = new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs\n {\n Query = \"@severity: \\\".\\\"\",\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs\n {\n Name = \"verbose\",\n Filter = new Datadog.Inputs.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs\n {\n Query = \"@severity: \\\"-\\\"\",\n },\n },\n },\n Name = \"sample category processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n DateRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorDateRemapperArgs\n {\n Sources = new[]\n {\n \"_timestamp\",\n \"published_date\",\n },\n Name = \"sample date remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n GeoIpParser = new Datadog.Inputs.LogsCustomPipelineProcessorGeoIpParserArgs\n {\n Sources = new[]\n {\n \"network.client.ip\",\n },\n Target = \"network.client.geoip\",\n Name = \"sample geo ip parser\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n GrokParser = new Datadog.Inputs.LogsCustomPipelineProcessorGrokParserArgs\n {\n Samples = new[]\n {\n \"sample log 1\",\n },\n Source = \"message\",\n Grok = new Datadog.Inputs.LogsCustomPipelineProcessorGrokParserGrokArgs\n {\n SupportRules = \"\",\n MatchRules = \"Rule %{word:my_word2} %{number:my_float2}\",\n },\n Name = \"sample grok parser\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n LookupProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorLookupProcessorArgs\n {\n Source = \"service_id\",\n Target = \"service_name\",\n LookupTables = new[]\n {\n \"1,my service\",\n },\n DefaultLookup = \"unknown service\",\n Name = \"sample lookup processor\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n MessageRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorMessageRemapperArgs\n {\n Sources = new[]\n {\n \"msg\",\n },\n Name = \"sample message remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n Pipeline = new Datadog.Inputs.LogsCustomPipelineProcessorPipelineArgs\n {\n Filters = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorPipelineFilterArgs\n {\n Query = \"source:foo\",\n },\n },\n Processors = new[]\n {\n new Datadog.Inputs.LogsCustomPipelineProcessorPipelineProcessorArgs\n {\n UrlParser = new Datadog.Inputs.LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs\n {\n Name = \"sample url parser\",\n Sources = new[]\n {\n \"url\",\n \"extra\",\n },\n Target = \"http_url\",\n NormalizeEndingSlashes = true,\n },\n },\n },\n Name = \"nested pipeline\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n ServiceRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorServiceRemapperArgs\n {\n Sources = new[]\n {\n \"service\",\n },\n Name = \"sample service remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n StatusRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorStatusRemapperArgs\n {\n Sources = new[]\n {\n \"info\",\n \"trace\",\n },\n Name = \"sample status remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n StringBuilderProcessor = new Datadog.Inputs.LogsCustomPipelineProcessorStringBuilderProcessorArgs\n {\n Target = \"user_activity\",\n Template = \"%{user.name} logged in at %{timestamp}\",\n Name = \"sample string builder processor\",\n IsEnabled = true,\n IsReplaceMissing = false,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n TraceIdRemapper = new Datadog.Inputs.LogsCustomPipelineProcessorTraceIdRemapperArgs\n {\n Sources = new[]\n {\n \"dd.trace_id\",\n },\n Name = \"sample trace id remapper\",\n IsEnabled = true,\n },\n },\n new Datadog.Inputs.LogsCustomPipelineProcessorArgs\n {\n UserAgentParser = new Datadog.Inputs.LogsCustomPipelineProcessorUserAgentParserArgs\n {\n Sources = new[]\n {\n \"user\",\n \"agent\",\n },\n Target = \"http_agent\",\n IsEncoded = false,\n Name = \"sample user agent parser\",\n IsEnabled = true,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsCustomPipeline(ctx, \"sample_pipeline\", \u0026datadog.LogsCustomPipelineArgs{\n\t\t\tFilters: datadog.LogsCustomPipelineFilterArray{\n\t\t\t\t\u0026datadog.LogsCustomPipelineFilterArgs{\n\t\t\t\t\tQuery: pulumi.String(\"source:foo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"sample pipeline\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tProcessors: datadog.LogsCustomPipelineProcessorArray{\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tArithmeticProcessor: \u0026datadog.LogsCustomPipelineProcessorArithmeticProcessorArgs{\n\t\t\t\t\t\tExpression: pulumi.String(\"(time1 - time2)*1000\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"my_arithmetic\"),\n\t\t\t\t\t\tIsReplaceMissing: pulumi.Bool(true),\n\t\t\t\t\t\tName: pulumi.String(\"sample arithmetic processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tAttributeRemapper: \u0026datadog.LogsCustomPipelineProcessorAttributeRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"db.instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSourceType: pulumi.String(\"tag\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"db\"),\n\t\t\t\t\t\tTargetType: pulumi.String(\"attribute\"),\n\t\t\t\t\t\tTargetFormat: pulumi.String(\"string\"),\n\t\t\t\t\t\tPreserveSource: pulumi.Bool(true),\n\t\t\t\t\t\tOverrideOnConflict: pulumi.Bool(false),\n\t\t\t\t\t\tName: pulumi.String(\"sample attribute processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tCategoryProcessor: \u0026datadog.LogsCustomPipelineProcessorCategoryProcessorArgs{\n\t\t\t\t\t\tTarget: pulumi.String(\"foo.severity\"),\n\t\t\t\t\t\tCategories: datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArray{\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"debug\"),\n\t\t\t\t\t\t\t\tFilter: \u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs{\n\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"@severity: \\\".\\\"\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"verbose\"),\n\t\t\t\t\t\t\t\tFilter: \u0026datadog.LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs{\n\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"@severity: \\\"-\\\"\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample category processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tDateRemapper: \u0026datadog.LogsCustomPipelineProcessorDateRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"_timestamp\"),\n\t\t\t\t\t\t\tpulumi.String(\"published_date\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample date remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tGeoIpParser: \u0026datadog.LogsCustomPipelineProcessorGeoIpParserArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"network.client.ip\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTarget: pulumi.String(\"network.client.geoip\"),\n\t\t\t\t\t\tName: pulumi.String(\"sample geo ip parser\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tGrokParser: \u0026datadog.LogsCustomPipelineProcessorGrokParserArgs{\n\t\t\t\t\t\tSamples: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"sample log 1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSource: pulumi.String(\"message\"),\n\t\t\t\t\t\tGrok: \u0026datadog.LogsCustomPipelineProcessorGrokParserGrokArgs{\n\t\t\t\t\t\t\tSupportRules: pulumi.String(\"\"),\n\t\t\t\t\t\t\tMatchRules: pulumi.String(\"Rule %{word:my_word2} %{number:my_float2}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample grok parser\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tLookupProcessor: \u0026datadog.LogsCustomPipelineProcessorLookupProcessorArgs{\n\t\t\t\t\t\tSource: pulumi.String(\"service_id\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"service_name\"),\n\t\t\t\t\t\tLookupTables: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1,my service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDefaultLookup: pulumi.String(\"unknown service\"),\n\t\t\t\t\t\tName: pulumi.String(\"sample lookup processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tMessageRemapper: \u0026datadog.LogsCustomPipelineProcessorMessageRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"msg\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample message remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tPipeline: \u0026datadog.LogsCustomPipelineProcessorPipelineArgs{\n\t\t\t\t\t\tFilters: datadog.LogsCustomPipelineProcessorPipelineFilterArray{\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorPipelineFilterArgs{\n\t\t\t\t\t\t\t\tQuery: pulumi.String(\"source:foo\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tProcessors: datadog.LogsCustomPipelineProcessorPipelineProcessorArray{\n\t\t\t\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorPipelineProcessorArgs{\n\t\t\t\t\t\t\t\tUrlParser: \u0026datadog.LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"sample url parser\"),\n\t\t\t\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"url\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"extra\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"http_url\"),\n\t\t\t\t\t\t\t\t\tNormalizeEndingSlashes: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"nested pipeline\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tServiceRemapper: \u0026datadog.LogsCustomPipelineProcessorServiceRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample service remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tStatusRemapper: \u0026datadog.LogsCustomPipelineProcessorStatusRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"info\"),\n\t\t\t\t\t\t\tpulumi.String(\"trace\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample status remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tStringBuilderProcessor: \u0026datadog.LogsCustomPipelineProcessorStringBuilderProcessorArgs{\n\t\t\t\t\t\tTarget: pulumi.String(\"user_activity\"),\n\t\t\t\t\t\tTemplate: pulumi.String(\"%{user.name} logged in at %{timestamp}\"),\n\t\t\t\t\t\tName: pulumi.String(\"sample string builder processor\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tIsReplaceMissing: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tTraceIdRemapper: \u0026datadog.LogsCustomPipelineProcessorTraceIdRemapperArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"dd.trace_id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample trace id remapper\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsCustomPipelineProcessorArgs{\n\t\t\t\t\tUserAgentParser: \u0026datadog.LogsCustomPipelineProcessorUserAgentParserArgs{\n\t\t\t\t\t\tSources: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"user\"),\n\t\t\t\t\t\t\tpulumi.String(\"agent\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTarget: pulumi.String(\"http_agent\"),\n\t\t\t\t\t\tIsEncoded: pulumi.Bool(false),\n\t\t\t\t\t\tName: pulumi.String(\"sample user agent parser\"),\n\t\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsCustomPipeline;\nimport com.pulumi.datadog.LogsCustomPipelineArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineFilterArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorArithmeticProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorAttributeRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorCategoryProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorDateRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorGeoIpParserArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorGrokParserArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorGrokParserGrokArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorLookupProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorMessageRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorPipelineArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorServiceRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorStatusRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorStringBuilderProcessorArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorTraceIdRemapperArgs;\nimport com.pulumi.datadog.inputs.LogsCustomPipelineProcessorUserAgentParserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var samplePipeline = new LogsCustomPipeline(\"samplePipeline\", LogsCustomPipelineArgs.builder()\n .filters(LogsCustomPipelineFilterArgs.builder()\n .query(\"source:foo\")\n .build())\n .name(\"sample pipeline\")\n .isEnabled(true)\n .processors( \n LogsCustomPipelineProcessorArgs.builder()\n .arithmeticProcessor(LogsCustomPipelineProcessorArithmeticProcessorArgs.builder()\n .expression(\"(time1 - time2)*1000\")\n .target(\"my_arithmetic\")\n .isReplaceMissing(true)\n .name(\"sample arithmetic processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .attributeRemapper(LogsCustomPipelineProcessorAttributeRemapperArgs.builder()\n .sources(\"db.instance\")\n .sourceType(\"tag\")\n .target(\"db\")\n .targetType(\"attribute\")\n .targetFormat(\"string\")\n .preserveSource(true)\n .overrideOnConflict(false)\n .name(\"sample attribute processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .categoryProcessor(LogsCustomPipelineProcessorCategoryProcessorArgs.builder()\n .target(\"foo.severity\")\n .categories( \n LogsCustomPipelineProcessorCategoryProcessorCategoryArgs.builder()\n .name(\"debug\")\n .filter(LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs.builder()\n .query(\"@severity: \\\".\\\"\")\n .build())\n .build(),\n LogsCustomPipelineProcessorCategoryProcessorCategoryArgs.builder()\n .name(\"verbose\")\n .filter(LogsCustomPipelineProcessorCategoryProcessorCategoryFilterArgs.builder()\n .query(\"@severity: \\\"-\\\"\")\n .build())\n .build())\n .name(\"sample category processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .dateRemapper(LogsCustomPipelineProcessorDateRemapperArgs.builder()\n .sources( \n \"_timestamp\",\n \"published_date\")\n .name(\"sample date remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .geoIpParser(LogsCustomPipelineProcessorGeoIpParserArgs.builder()\n .sources(\"network.client.ip\")\n .target(\"network.client.geoip\")\n .name(\"sample geo ip parser\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .grokParser(LogsCustomPipelineProcessorGrokParserArgs.builder()\n .samples(\"sample log 1\")\n .source(\"message\")\n .grok(LogsCustomPipelineProcessorGrokParserGrokArgs.builder()\n .supportRules(\"\")\n .matchRules(\"Rule %{word:my_word2} %{number:my_float2}\")\n .build())\n .name(\"sample grok parser\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .lookupProcessor(LogsCustomPipelineProcessorLookupProcessorArgs.builder()\n .source(\"service_id\")\n .target(\"service_name\")\n .lookupTables(\"1,my service\")\n .defaultLookup(\"unknown service\")\n .name(\"sample lookup processor\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .messageRemapper(LogsCustomPipelineProcessorMessageRemapperArgs.builder()\n .sources(\"msg\")\n .name(\"sample message remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .pipeline(LogsCustomPipelineProcessorPipelineArgs.builder()\n .filters(LogsCustomPipelineProcessorPipelineFilterArgs.builder()\n .query(\"source:foo\")\n .build())\n .processors(LogsCustomPipelineProcessorPipelineProcessorArgs.builder()\n .urlParser(LogsCustomPipelineProcessorPipelineProcessorUrlParserArgs.builder()\n .name(\"sample url parser\")\n .sources( \n \"url\",\n \"extra\")\n .target(\"http_url\")\n .normalizeEndingSlashes(true)\n .build())\n .build())\n .name(\"nested pipeline\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .serviceRemapper(LogsCustomPipelineProcessorServiceRemapperArgs.builder()\n .sources(\"service\")\n .name(\"sample service remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .statusRemapper(LogsCustomPipelineProcessorStatusRemapperArgs.builder()\n .sources( \n \"info\",\n \"trace\")\n .name(\"sample status remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .stringBuilderProcessor(LogsCustomPipelineProcessorStringBuilderProcessorArgs.builder()\n .target(\"user_activity\")\n .template(\"%{user.name} logged in at %{timestamp}\")\n .name(\"sample string builder processor\")\n .isEnabled(true)\n .isReplaceMissing(false)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .traceIdRemapper(LogsCustomPipelineProcessorTraceIdRemapperArgs.builder()\n .sources(\"dd.trace_id\")\n .name(\"sample trace id remapper\")\n .isEnabled(true)\n .build())\n .build(),\n LogsCustomPipelineProcessorArgs.builder()\n .userAgentParser(LogsCustomPipelineProcessorUserAgentParserArgs.builder()\n .sources( \n \"user\",\n \"agent\")\n .target(\"http_agent\")\n .isEncoded(false)\n .name(\"sample user agent parser\")\n .isEnabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n samplePipeline:\n type: datadog:LogsCustomPipeline\n name: sample_pipeline\n properties:\n filters:\n - query: source:foo\n name: sample pipeline\n isEnabled: true\n processors:\n - arithmeticProcessor:\n expression: (time1 - time2)*1000\n target: my_arithmetic\n isReplaceMissing: true\n name: sample arithmetic processor\n isEnabled: true\n - attributeRemapper:\n sources:\n - db.instance\n sourceType: tag\n target: db\n targetType: attribute\n targetFormat: string\n preserveSource: true\n overrideOnConflict: false\n name: sample attribute processor\n isEnabled: true\n - categoryProcessor:\n target: foo.severity\n categories:\n - name: debug\n filter:\n query: '@severity: \".\"'\n - name: verbose\n filter:\n query: '@severity: \"-\"'\n name: sample category processor\n isEnabled: true\n - dateRemapper:\n sources:\n - _timestamp\n - published_date\n name: sample date remapper\n isEnabled: true\n - geoIpParser:\n sources:\n - network.client.ip\n target: network.client.geoip\n name: sample geo ip parser\n isEnabled: true\n - grokParser:\n samples:\n - sample log 1\n source: message\n grok:\n supportRules:\n matchRules: Rule %{word:my_word2} %{number:my_float2}\n name: sample grok parser\n isEnabled: true\n - lookupProcessor:\n source: service_id\n target: service_name\n lookupTables:\n - 1,my service\n defaultLookup: unknown service\n name: sample lookup processor\n isEnabled: true\n - messageRemapper:\n sources:\n - msg\n name: sample message remapper\n isEnabled: true\n - pipeline:\n filters:\n - query: source:foo\n processors:\n - urlParser:\n name: sample url parser\n sources:\n - url\n - extra\n target: http_url\n normalizeEndingSlashes: true\n name: nested pipeline\n isEnabled: true\n - serviceRemapper:\n sources:\n - service\n name: sample service remapper\n isEnabled: true\n - statusRemapper:\n sources:\n - info\n - trace\n name: sample status remapper\n isEnabled: true\n - stringBuilderProcessor:\n target: user_activity\n template: '%{user.name} logged in at %{timestamp}'\n name: sample string builder processor\n isEnabled: true\n isReplaceMissing: false\n - traceIdRemapper:\n sources:\n - dd.trace_id\n name: sample trace id remapper\n isEnabled: true\n - userAgentParser:\n sources:\n - user\n - agent\n target: http_agent\n isEncoded: false\n name: sample user agent parser\n isEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTo find the pipeline ID, click the \"edit\" button in the UI to open the pipeline details.\n\nThe pipeline ID is the last part of the URL.\n\n```sh\n$ pulumi import datadog:index/logsCustomPipeline:LogsCustomPipeline name\u003e \u003cpipelineID\u003e\n```\n\n", "properties": { "filters": { "type": "array", @@ -75312,7 +75312,7 @@ } }, "datadog:index/logsIndex:LogsIndex": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// A sample Datadog logs index resource definition.\nconst sampleIndex = new datadog.LogsIndex(\"sample_index\", {\n name: \"your index\",\n dailyLimit: 200000,\n dailyLimitReset: {\n resetTime: \"14:00\",\n resetUtcOffset: \"+02:00\",\n },\n dailyLimitWarningThresholdPercentage: 50,\n retentionDays: 7,\n filters: [{\n query: \"*\",\n }],\n exclusionFilters: [\n {\n name: \"Filter coredns logs\",\n isEnabled: true,\n filters: [{\n query: \"app:coredns\",\n sampleRate: 0.97,\n }],\n },\n {\n name: \"Kubernetes apiserver\",\n isEnabled: true,\n filters: [{\n query: \"service:kube_apiserver\",\n sampleRate: 1,\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# A sample Datadog logs index resource definition.\nsample_index = datadog.LogsIndex(\"sample_index\",\n name=\"your index\",\n daily_limit=200000,\n daily_limit_reset=datadog.LogsIndexDailyLimitResetArgs(\n reset_time=\"14:00\",\n reset_utc_offset=\"+02:00\",\n ),\n daily_limit_warning_threshold_percentage=50,\n retention_days=7,\n filters=[datadog.LogsIndexFilterArgs(\n query=\"*\",\n )],\n exclusion_filters=[\n datadog.LogsIndexExclusionFilterArgs(\n name=\"Filter coredns logs\",\n is_enabled=True,\n filters=[datadog.LogsIndexExclusionFilterFilterArgs(\n query=\"app:coredns\",\n sample_rate=0.97,\n )],\n ),\n datadog.LogsIndexExclusionFilterArgs(\n name=\"Kubernetes apiserver\",\n is_enabled=True,\n filters=[datadog.LogsIndexExclusionFilterFilterArgs(\n query=\"service:kube_apiserver\",\n sample_rate=1,\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // A sample Datadog logs index resource definition.\n var sampleIndex = new Datadog.LogsIndex(\"sample_index\", new()\n {\n Name = \"your index\",\n DailyLimit = 200000,\n DailyLimitReset = new Datadog.Inputs.LogsIndexDailyLimitResetArgs\n {\n ResetTime = \"14:00\",\n ResetUtcOffset = \"+02:00\",\n },\n DailyLimitWarningThresholdPercentage = 50,\n RetentionDays = 7,\n Filters = new[]\n {\n new Datadog.Inputs.LogsIndexFilterArgs\n {\n Query = \"*\",\n },\n },\n ExclusionFilters = new[]\n {\n new Datadog.Inputs.LogsIndexExclusionFilterArgs\n {\n Name = \"Filter coredns logs\",\n IsEnabled = true,\n Filters = new[]\n {\n new Datadog.Inputs.LogsIndexExclusionFilterFilterArgs\n {\n Query = \"app:coredns\",\n SampleRate = 0.97,\n },\n },\n },\n new Datadog.Inputs.LogsIndexExclusionFilterArgs\n {\n Name = \"Kubernetes apiserver\",\n IsEnabled = true,\n Filters = new[]\n {\n new Datadog.Inputs.LogsIndexExclusionFilterFilterArgs\n {\n Query = \"service:kube_apiserver\",\n SampleRate = 1,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// A sample Datadog logs index resource definition.\n\t\t_, err := datadog.NewLogsIndex(ctx, \"sample_index\", \u0026datadog.LogsIndexArgs{\n\t\t\tName: pulumi.String(\"your index\"),\n\t\t\tDailyLimit: pulumi.Int(200000),\n\t\t\tDailyLimitReset: \u0026datadog.LogsIndexDailyLimitResetArgs{\n\t\t\t\tResetTime: pulumi.String(\"14:00\"),\n\t\t\t\tResetUtcOffset: pulumi.String(\"+02:00\"),\n\t\t\t},\n\t\t\tDailyLimitWarningThresholdPercentage: pulumi.Float64(50),\n\t\t\tRetentionDays: pulumi.Int(7),\n\t\t\tFilters: datadog.LogsIndexFilterArray{\n\t\t\t\t\u0026datadog.LogsIndexFilterArgs{\n\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tExclusionFilters: datadog.LogsIndexExclusionFilterArray{\n\t\t\t\t\u0026datadog.LogsIndexExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Filter coredns logs\"),\n\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\tFilters: datadog.LogsIndexExclusionFilterFilterArray{\n\t\t\t\t\t\t\u0026datadog.LogsIndexExclusionFilterFilterArgs{\n\t\t\t\t\t\t\tQuery: pulumi.String(\"app:coredns\"),\n\t\t\t\t\t\t\tSampleRate: pulumi.Float64(0.97),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsIndexExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Kubernetes apiserver\"),\n\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\tFilters: datadog.LogsIndexExclusionFilterFilterArray{\n\t\t\t\t\t\t\u0026datadog.LogsIndexExclusionFilterFilterArgs{\n\t\t\t\t\t\t\tQuery: pulumi.String(\"service:kube_apiserver\"),\n\t\t\t\t\t\t\tSampleRate: pulumi.Float64(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsIndex;\nimport com.pulumi.datadog.LogsIndexArgs;\nimport com.pulumi.datadog.inputs.LogsIndexDailyLimitResetArgs;\nimport com.pulumi.datadog.inputs.LogsIndexFilterArgs;\nimport com.pulumi.datadog.inputs.LogsIndexExclusionFilterArgs;\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 // A sample Datadog logs index resource definition.\n var sampleIndex = new LogsIndex(\"sampleIndex\", LogsIndexArgs.builder() \n .name(\"your index\")\n .dailyLimit(200000)\n .dailyLimitReset(LogsIndexDailyLimitResetArgs.builder()\n .resetTime(\"14:00\")\n .resetUtcOffset(\"+02:00\")\n .build())\n .dailyLimitWarningThresholdPercentage(50)\n .retentionDays(7)\n .filters(LogsIndexFilterArgs.builder()\n .query(\"*\")\n .build())\n .exclusionFilters( \n LogsIndexExclusionFilterArgs.builder()\n .name(\"Filter coredns logs\")\n .isEnabled(true)\n .filters(LogsIndexExclusionFilterFilterArgs.builder()\n .query(\"app:coredns\")\n .sampleRate(0.97)\n .build())\n .build(),\n LogsIndexExclusionFilterArgs.builder()\n .name(\"Kubernetes apiserver\")\n .isEnabled(true)\n .filters(LogsIndexExclusionFilterFilterArgs.builder()\n .query(\"service:kube_apiserver\")\n .sampleRate(1)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A sample Datadog logs index resource definition.\n sampleIndex:\n type: datadog:LogsIndex\n name: sample_index\n properties:\n name: your index\n dailyLimit: 200000\n dailyLimitReset:\n resetTime: 14:00\n resetUtcOffset: +02:00\n dailyLimitWarningThresholdPercentage: 50\n retentionDays: 7\n filters:\n - query: '*'\n exclusionFilters:\n - name: Filter coredns logs\n isEnabled: true\n filters:\n - query: app:coredns\n sampleRate: 0.97\n - name: Kubernetes apiserver\n isEnabled: true\n filters:\n - query: service:kube_apiserver\n sampleRate: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/logsIndex:LogsIndex name\u003e \u003cindexName\u003e\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// A sample Datadog logs index resource definition.\nconst sampleIndex = new datadog.LogsIndex(\"sample_index\", {\n name: \"your index\",\n dailyLimit: 200000,\n dailyLimitReset: {\n resetTime: \"14:00\",\n resetUtcOffset: \"+02:00\",\n },\n dailyLimitWarningThresholdPercentage: 50,\n retentionDays: 7,\n filters: [{\n query: \"*\",\n }],\n exclusionFilters: [\n {\n name: \"Filter coredns logs\",\n isEnabled: true,\n filters: [{\n query: \"app:coredns\",\n sampleRate: 0.97,\n }],\n },\n {\n name: \"Kubernetes apiserver\",\n isEnabled: true,\n filters: [{\n query: \"service:kube_apiserver\",\n sampleRate: 1,\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# A sample Datadog logs index resource definition.\nsample_index = datadog.LogsIndex(\"sample_index\",\n name=\"your index\",\n daily_limit=200000,\n daily_limit_reset=datadog.LogsIndexDailyLimitResetArgs(\n reset_time=\"14:00\",\n reset_utc_offset=\"+02:00\",\n ),\n daily_limit_warning_threshold_percentage=50,\n retention_days=7,\n filters=[datadog.LogsIndexFilterArgs(\n query=\"*\",\n )],\n exclusion_filters=[\n datadog.LogsIndexExclusionFilterArgs(\n name=\"Filter coredns logs\",\n is_enabled=True,\n filters=[datadog.LogsIndexExclusionFilterFilterArgs(\n query=\"app:coredns\",\n sample_rate=0.97,\n )],\n ),\n datadog.LogsIndexExclusionFilterArgs(\n name=\"Kubernetes apiserver\",\n is_enabled=True,\n filters=[datadog.LogsIndexExclusionFilterFilterArgs(\n query=\"service:kube_apiserver\",\n sample_rate=1,\n )],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // A sample Datadog logs index resource definition.\n var sampleIndex = new Datadog.LogsIndex(\"sample_index\", new()\n {\n Name = \"your index\",\n DailyLimit = 200000,\n DailyLimitReset = new Datadog.Inputs.LogsIndexDailyLimitResetArgs\n {\n ResetTime = \"14:00\",\n ResetUtcOffset = \"+02:00\",\n },\n DailyLimitWarningThresholdPercentage = 50,\n RetentionDays = 7,\n Filters = new[]\n {\n new Datadog.Inputs.LogsIndexFilterArgs\n {\n Query = \"*\",\n },\n },\n ExclusionFilters = new[]\n {\n new Datadog.Inputs.LogsIndexExclusionFilterArgs\n {\n Name = \"Filter coredns logs\",\n IsEnabled = true,\n Filters = new[]\n {\n new Datadog.Inputs.LogsIndexExclusionFilterFilterArgs\n {\n Query = \"app:coredns\",\n SampleRate = 0.97,\n },\n },\n },\n new Datadog.Inputs.LogsIndexExclusionFilterArgs\n {\n Name = \"Kubernetes apiserver\",\n IsEnabled = true,\n Filters = new[]\n {\n new Datadog.Inputs.LogsIndexExclusionFilterFilterArgs\n {\n Query = \"service:kube_apiserver\",\n SampleRate = 1,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// A sample Datadog logs index resource definition.\n\t\t_, err := datadog.NewLogsIndex(ctx, \"sample_index\", \u0026datadog.LogsIndexArgs{\n\t\t\tName: pulumi.String(\"your index\"),\n\t\t\tDailyLimit: pulumi.Int(200000),\n\t\t\tDailyLimitReset: \u0026datadog.LogsIndexDailyLimitResetArgs{\n\t\t\t\tResetTime: pulumi.String(\"14:00\"),\n\t\t\t\tResetUtcOffset: pulumi.String(\"+02:00\"),\n\t\t\t},\n\t\t\tDailyLimitWarningThresholdPercentage: pulumi.Float64(50),\n\t\t\tRetentionDays: pulumi.Int(7),\n\t\t\tFilters: datadog.LogsIndexFilterArray{\n\t\t\t\t\u0026datadog.LogsIndexFilterArgs{\n\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tExclusionFilters: datadog.LogsIndexExclusionFilterArray{\n\t\t\t\t\u0026datadog.LogsIndexExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Filter coredns logs\"),\n\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\tFilters: datadog.LogsIndexExclusionFilterFilterArray{\n\t\t\t\t\t\t\u0026datadog.LogsIndexExclusionFilterFilterArgs{\n\t\t\t\t\t\t\tQuery: pulumi.String(\"app:coredns\"),\n\t\t\t\t\t\t\tSampleRate: pulumi.Float64(0.97),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsIndexExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"Kubernetes apiserver\"),\n\t\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\t\tFilters: datadog.LogsIndexExclusionFilterFilterArray{\n\t\t\t\t\t\t\u0026datadog.LogsIndexExclusionFilterFilterArgs{\n\t\t\t\t\t\t\tQuery: pulumi.String(\"service:kube_apiserver\"),\n\t\t\t\t\t\t\tSampleRate: pulumi.Float64(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsIndex;\nimport com.pulumi.datadog.LogsIndexArgs;\nimport com.pulumi.datadog.inputs.LogsIndexDailyLimitResetArgs;\nimport com.pulumi.datadog.inputs.LogsIndexFilterArgs;\nimport com.pulumi.datadog.inputs.LogsIndexExclusionFilterArgs;\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 // A sample Datadog logs index resource definition.\n var sampleIndex = new LogsIndex(\"sampleIndex\", LogsIndexArgs.builder()\n .name(\"your index\")\n .dailyLimit(200000)\n .dailyLimitReset(LogsIndexDailyLimitResetArgs.builder()\n .resetTime(\"14:00\")\n .resetUtcOffset(\"+02:00\")\n .build())\n .dailyLimitWarningThresholdPercentage(50)\n .retentionDays(7)\n .filters(LogsIndexFilterArgs.builder()\n .query(\"*\")\n .build())\n .exclusionFilters( \n LogsIndexExclusionFilterArgs.builder()\n .name(\"Filter coredns logs\")\n .isEnabled(true)\n .filters(LogsIndexExclusionFilterFilterArgs.builder()\n .query(\"app:coredns\")\n .sampleRate(0.97)\n .build())\n .build(),\n LogsIndexExclusionFilterArgs.builder()\n .name(\"Kubernetes apiserver\")\n .isEnabled(true)\n .filters(LogsIndexExclusionFilterFilterArgs.builder()\n .query(\"service:kube_apiserver\")\n .sampleRate(1)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A sample Datadog logs index resource definition.\n sampleIndex:\n type: datadog:LogsIndex\n name: sample_index\n properties:\n name: your index\n dailyLimit: 200000\n dailyLimitReset:\n resetTime: 14:00\n resetUtcOffset: +02:00\n dailyLimitWarningThresholdPercentage: 50\n retentionDays: 7\n filters:\n - query: '*'\n exclusionFilters:\n - name: Filter coredns logs\n isEnabled: true\n filters:\n - query: app:coredns\n sampleRate: 0.97\n - name: Kubernetes apiserver\n isEnabled: true\n filters:\n - query: service:kube_apiserver\n sampleRate: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/logsIndex:LogsIndex name\u003e \u003cindexName\u003e\n```\n\n", "properties": { "dailyLimit": { "type": "integer", @@ -75451,7 +75451,7 @@ } }, "datadog:index/logsIndexOrder:LogsIndexOrder": { - "description": "Provides a Datadog Logs Index API resource. This can be used to manage the order of Datadog logs indexes.\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\nconst sampleIndexOrder = new datadog.LogsIndexOrder(\"sample_index_order\", {\n name: \"sample_index_order\",\n indexes: [sampleIndex.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_index_order = datadog.LogsIndexOrder(\"sample_index_order\",\n name=\"sample_index_order\",\n indexes=[sample_index[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sampleIndexOrder = new Datadog.LogsIndexOrder(\"sample_index_order\", new()\n {\n Name = \"sample_index_order\",\n Indexes = new[]\n {\n sampleIndex.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsIndexOrder(ctx, \"sample_index_order\", \u0026datadog.LogsIndexOrderArgs{\n\t\t\tName: pulumi.String(\"sample_index_order\"),\n\t\t\tIndexes: pulumi.StringArray{\n\t\t\t\tsampleIndex.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsIndexOrder;\nimport com.pulumi.datadog.LogsIndexOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sampleIndexOrder = new LogsIndexOrder(\"sampleIndexOrder\", LogsIndexOrderArgs.builder() \n .name(\"sample_index_order\")\n .indexes(sampleIndex.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sampleIndexOrder:\n type: datadog:LogsIndexOrder\n name: sample_index_order\n properties:\n name: sample_index_order\n indexes:\n - ${sampleIndex.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Datadog Terraform Provider does not support the creation and deletion of index orders. There must be at most one `datadog_logs_index_order` resource\n\n`\u003cname\u003e` can be whatever you specify in your code. Datadog does not store the name on the server.\n\n```sh\n$ pulumi import datadog:index/logsIndexOrder:LogsIndexOrder name\u003e \u003cname\u003e\n```\n\n", + "description": "Provides a Datadog Logs Index API resource. This can be used to manage the order of Datadog logs indexes.\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\nconst sampleIndexOrder = new datadog.LogsIndexOrder(\"sample_index_order\", {\n name: \"sample_index_order\",\n indexes: [sampleIndex.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_index_order = datadog.LogsIndexOrder(\"sample_index_order\",\n name=\"sample_index_order\",\n indexes=[sample_index[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sampleIndexOrder = new Datadog.LogsIndexOrder(\"sample_index_order\", new()\n {\n Name = \"sample_index_order\",\n Indexes = new[]\n {\n sampleIndex.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsIndexOrder(ctx, \"sample_index_order\", \u0026datadog.LogsIndexOrderArgs{\n\t\t\tName: pulumi.String(\"sample_index_order\"),\n\t\t\tIndexes: pulumi.StringArray{\n\t\t\t\tsampleIndex.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsIndexOrder;\nimport com.pulumi.datadog.LogsIndexOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sampleIndexOrder = new LogsIndexOrder(\"sampleIndexOrder\", LogsIndexOrderArgs.builder()\n .name(\"sample_index_order\")\n .indexes(sampleIndex.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sampleIndexOrder:\n type: datadog:LogsIndexOrder\n name: sample_index_order\n properties:\n name: sample_index_order\n indexes:\n - ${sampleIndex.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Datadog Terraform Provider does not support the creation and deletion of index orders. There must be at most one `datadog_logs_index_order` resource\n\n`\u003cname\u003e` can be whatever you specify in your code. Datadog does not store the name on the server.\n\n```sh\n$ pulumi import datadog:index/logsIndexOrder:LogsIndexOrder name\u003e \u003cname\u003e\n```\n\n", "properties": { "indexes": { "type": "array", @@ -75504,7 +75504,7 @@ } }, "datadog:index/logsIntegrationPipeline:LogsIntegrationPipeline": { - "description": "Provides a Datadog Logs Pipeline API resource to manage the integrations. Integration pipelines are the pipelines that are automatically installed for your organization when sending the logs with specific sources. You don't need to maintain or update these types of pipelines. Keeping them as resources, however, allows you to manage the order of your pipelines by referencing them in your `datadog.LogsPipelineOrder` resource. If you don't need the `pipeline_order` feature, this resource declaration can be omitted.\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\nconst python = new datadog.LogsIntegrationPipeline(\"python\", {isEnabled: true});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\npython = datadog.LogsIntegrationPipeline(\"python\", is_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var python = new Datadog.LogsIntegrationPipeline(\"python\", new()\n {\n IsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsIntegrationPipeline(ctx, \"python\", \u0026datadog.LogsIntegrationPipelineArgs{\n\t\t\tIsEnabled: pulumi.Bool(true),\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.LogsIntegrationPipeline;\nimport com.pulumi.datadog.LogsIntegrationPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var python = new LogsIntegrationPipeline(\"python\", LogsIntegrationPipelineArgs.builder() \n .isEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n python:\n type: datadog:LogsIntegrationPipeline\n properties:\n isEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTo find the pipeline ID, click the \"view\" button in the UI to open the pipeline details.\n\nThe pipeline ID is the last part of the URL.\n\n```sh\n$ pulumi import datadog:index/logsIntegrationPipeline:LogsIntegrationPipeline name\u003e \u003cpipelineID\u003e\n```\n\n", + "description": "Provides a Datadog Logs Pipeline API resource to manage the integrations. Integration pipelines are the pipelines that are automatically installed for your organization when sending the logs with specific sources. You don't need to maintain or update these types of pipelines. Keeping them as resources, however, allows you to manage the order of your pipelines by referencing them in your `datadog.LogsPipelineOrder` resource. If you don't need the `pipeline_order` feature, this resource declaration can be omitted.\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\nconst python = new datadog.LogsIntegrationPipeline(\"python\", {isEnabled: true});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\npython = datadog.LogsIntegrationPipeline(\"python\", is_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var python = new Datadog.LogsIntegrationPipeline(\"python\", new()\n {\n IsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsIntegrationPipeline(ctx, \"python\", \u0026datadog.LogsIntegrationPipelineArgs{\n\t\t\tIsEnabled: pulumi.Bool(true),\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.LogsIntegrationPipeline;\nimport com.pulumi.datadog.LogsIntegrationPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var python = new LogsIntegrationPipeline(\"python\", LogsIntegrationPipelineArgs.builder()\n .isEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n python:\n type: datadog:LogsIntegrationPipeline\n properties:\n isEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTo find the pipeline ID, click the \"view\" button in the UI to open the pipeline details.\n\nThe pipeline ID is the last part of the URL.\n\n```sh\n$ pulumi import datadog:index/logsIntegrationPipeline:LogsIntegrationPipeline name\u003e \u003cpipelineID\u003e\n```\n\n", "properties": { "isEnabled": { "type": "boolean", @@ -75529,7 +75529,7 @@ } }, "datadog:index/logsMetric:LogsMetric": { - "description": "Resource for interacting with the logs_metric API\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\nconst testingLogsMetric = new datadog.LogsMetric(\"testing_logs_metric\", {\n name: \"testing.logs.metric\",\n compute: {\n aggregationType: \"distribution\",\n path: \"@duration\",\n },\n filter: {\n query: \"service:test\",\n },\n groupBies: [\n {\n path: \"@status\",\n tagName: \"status\",\n },\n {\n path: \"@version\",\n tagName: \"version\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntesting_logs_metric = datadog.LogsMetric(\"testing_logs_metric\",\n name=\"testing.logs.metric\",\n compute=datadog.LogsMetricComputeArgs(\n aggregation_type=\"distribution\",\n path=\"@duration\",\n ),\n filter=datadog.LogsMetricFilterArgs(\n query=\"service:test\",\n ),\n group_bies=[\n datadog.LogsMetricGroupByArgs(\n path=\"@status\",\n tag_name=\"status\",\n ),\n datadog.LogsMetricGroupByArgs(\n path=\"@version\",\n tag_name=\"version\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testingLogsMetric = new Datadog.LogsMetric(\"testing_logs_metric\", new()\n {\n Name = \"testing.logs.metric\",\n Compute = new Datadog.Inputs.LogsMetricComputeArgs\n {\n AggregationType = \"distribution\",\n Path = \"@duration\",\n },\n Filter = new Datadog.Inputs.LogsMetricFilterArgs\n {\n Query = \"service:test\",\n },\n GroupBies = new[]\n {\n new Datadog.Inputs.LogsMetricGroupByArgs\n {\n Path = \"@status\",\n TagName = \"status\",\n },\n new Datadog.Inputs.LogsMetricGroupByArgs\n {\n Path = \"@version\",\n TagName = \"version\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsMetric(ctx, \"testing_logs_metric\", \u0026datadog.LogsMetricArgs{\n\t\t\tName: pulumi.String(\"testing.logs.metric\"),\n\t\t\tCompute: \u0026datadog.LogsMetricComputeArgs{\n\t\t\t\tAggregationType: pulumi.String(\"distribution\"),\n\t\t\t\tPath: pulumi.String(\"@duration\"),\n\t\t\t},\n\t\t\tFilter: \u0026datadog.LogsMetricFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"service:test\"),\n\t\t\t},\n\t\t\tGroupBies: datadog.LogsMetricGroupByArray{\n\t\t\t\t\u0026datadog.LogsMetricGroupByArgs{\n\t\t\t\t\tPath: pulumi.String(\"@status\"),\n\t\t\t\t\tTagName: pulumi.String(\"status\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsMetricGroupByArgs{\n\t\t\t\t\tPath: pulumi.String(\"@version\"),\n\t\t\t\t\tTagName: pulumi.String(\"version\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsMetric;\nimport com.pulumi.datadog.LogsMetricArgs;\nimport com.pulumi.datadog.inputs.LogsMetricComputeArgs;\nimport com.pulumi.datadog.inputs.LogsMetricFilterArgs;\nimport com.pulumi.datadog.inputs.LogsMetricGroupByArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testingLogsMetric = new LogsMetric(\"testingLogsMetric\", LogsMetricArgs.builder() \n .name(\"testing.logs.metric\")\n .compute(LogsMetricComputeArgs.builder()\n .aggregationType(\"distribution\")\n .path(\"@duration\")\n .build())\n .filter(LogsMetricFilterArgs.builder()\n .query(\"service:test\")\n .build())\n .groupBies( \n LogsMetricGroupByArgs.builder()\n .path(\"@status\")\n .tagName(\"status\")\n .build(),\n LogsMetricGroupByArgs.builder()\n .path(\"@version\")\n .tagName(\"version\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testingLogsMetric:\n type: datadog:LogsMetric\n name: testing_logs_metric\n properties:\n name: testing.logs.metric\n compute:\n aggregationType: distribution\n path: '@duration'\n filter:\n query: service:test\n groupBies:\n - path: '@status'\n tagName: status\n - path: '@version'\n tagName: version\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/logsMetric:LogsMetric testing_logs_metric testing.logs.metric\n```\n\n", + "description": "Resource for interacting with the logs_metric API\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\nconst testingLogsMetric = new datadog.LogsMetric(\"testing_logs_metric\", {\n name: \"testing.logs.metric\",\n compute: {\n aggregationType: \"distribution\",\n path: \"@duration\",\n },\n filter: {\n query: \"service:test\",\n },\n groupBies: [\n {\n path: \"@status\",\n tagName: \"status\",\n },\n {\n path: \"@version\",\n tagName: \"version\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntesting_logs_metric = datadog.LogsMetric(\"testing_logs_metric\",\n name=\"testing.logs.metric\",\n compute=datadog.LogsMetricComputeArgs(\n aggregation_type=\"distribution\",\n path=\"@duration\",\n ),\n filter=datadog.LogsMetricFilterArgs(\n query=\"service:test\",\n ),\n group_bies=[\n datadog.LogsMetricGroupByArgs(\n path=\"@status\",\n tag_name=\"status\",\n ),\n datadog.LogsMetricGroupByArgs(\n path=\"@version\",\n tag_name=\"version\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testingLogsMetric = new Datadog.LogsMetric(\"testing_logs_metric\", new()\n {\n Name = \"testing.logs.metric\",\n Compute = new Datadog.Inputs.LogsMetricComputeArgs\n {\n AggregationType = \"distribution\",\n Path = \"@duration\",\n },\n Filter = new Datadog.Inputs.LogsMetricFilterArgs\n {\n Query = \"service:test\",\n },\n GroupBies = new[]\n {\n new Datadog.Inputs.LogsMetricGroupByArgs\n {\n Path = \"@status\",\n TagName = \"status\",\n },\n new Datadog.Inputs.LogsMetricGroupByArgs\n {\n Path = \"@version\",\n TagName = \"version\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsMetric(ctx, \"testing_logs_metric\", \u0026datadog.LogsMetricArgs{\n\t\t\tName: pulumi.String(\"testing.logs.metric\"),\n\t\t\tCompute: \u0026datadog.LogsMetricComputeArgs{\n\t\t\t\tAggregationType: pulumi.String(\"distribution\"),\n\t\t\t\tPath: pulumi.String(\"@duration\"),\n\t\t\t},\n\t\t\tFilter: \u0026datadog.LogsMetricFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"service:test\"),\n\t\t\t},\n\t\t\tGroupBies: datadog.LogsMetricGroupByArray{\n\t\t\t\t\u0026datadog.LogsMetricGroupByArgs{\n\t\t\t\t\tPath: pulumi.String(\"@status\"),\n\t\t\t\t\tTagName: pulumi.String(\"status\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.LogsMetricGroupByArgs{\n\t\t\t\t\tPath: pulumi.String(\"@version\"),\n\t\t\t\t\tTagName: pulumi.String(\"version\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsMetric;\nimport com.pulumi.datadog.LogsMetricArgs;\nimport com.pulumi.datadog.inputs.LogsMetricComputeArgs;\nimport com.pulumi.datadog.inputs.LogsMetricFilterArgs;\nimport com.pulumi.datadog.inputs.LogsMetricGroupByArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testingLogsMetric = new LogsMetric(\"testingLogsMetric\", LogsMetricArgs.builder()\n .name(\"testing.logs.metric\")\n .compute(LogsMetricComputeArgs.builder()\n .aggregationType(\"distribution\")\n .path(\"@duration\")\n .build())\n .filter(LogsMetricFilterArgs.builder()\n .query(\"service:test\")\n .build())\n .groupBies( \n LogsMetricGroupByArgs.builder()\n .path(\"@status\")\n .tagName(\"status\")\n .build(),\n LogsMetricGroupByArgs.builder()\n .path(\"@version\")\n .tagName(\"version\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testingLogsMetric:\n type: datadog:LogsMetric\n name: testing_logs_metric\n properties:\n name: testing.logs.metric\n compute:\n aggregationType: distribution\n path: '@duration'\n filter:\n query: service:test\n groupBies:\n - path: '@status'\n tagName: status\n - path: '@version'\n tagName: version\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/logsMetric:LogsMetric testing_logs_metric testing.logs.metric\n```\n\n", "properties": { "compute": { "$ref": "#/types/datadog:index/LogsMetricCompute:LogsMetricCompute", @@ -75613,7 +75613,7 @@ } }, "datadog:index/logsPipelineOrder:LogsPipelineOrder": { - "description": "Provides a Datadog Logs Pipeline API resource, which is used to manage Datadog log pipelines order.\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\nconst samplePipelineOrder = new datadog.LogsPipelineOrder(\"sample_pipeline_order\", {\n name: \"sample_pipeline_order\",\n pipelines: [\n samplePipeline.id,\n python.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_pipeline_order = datadog.LogsPipelineOrder(\"sample_pipeline_order\",\n name=\"sample_pipeline_order\",\n pipelines=[\n sample_pipeline[\"id\"],\n python[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var samplePipelineOrder = new Datadog.LogsPipelineOrder(\"sample_pipeline_order\", new()\n {\n Name = \"sample_pipeline_order\",\n Pipelines = new[]\n {\n samplePipeline.Id,\n python.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsPipelineOrder(ctx, \"sample_pipeline_order\", \u0026datadog.LogsPipelineOrderArgs{\n\t\t\tName: pulumi.String(\"sample_pipeline_order\"),\n\t\t\tPipelines: pulumi.StringArray{\n\t\t\t\tsamplePipeline.Id,\n\t\t\t\tpython.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsPipelineOrder;\nimport com.pulumi.datadog.LogsPipelineOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var samplePipelineOrder = new LogsPipelineOrder(\"samplePipelineOrder\", LogsPipelineOrderArgs.builder() \n .name(\"sample_pipeline_order\")\n .pipelines( \n samplePipeline.id(),\n python.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n samplePipelineOrder:\n type: datadog:LogsPipelineOrder\n name: sample_pipeline_order\n properties:\n name: sample_pipeline_order\n pipelines:\n - ${samplePipeline.id}\n - ${python.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThere must be at most one datadog_logs_pipeline_order resource. Pipeline order creation is not supported from logs config API. You can import the datadog_logs_pipeline_order or create a pipeline order (which is actually doing the update operation).\n\n```sh\n$ pulumi import datadog:index/logsPipelineOrder:LogsPipelineOrder name\u003e \u003cname\u003e\n```\n\n", + "description": "Provides a Datadog Logs Pipeline API resource, which is used to manage Datadog log pipelines order.\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\nconst samplePipelineOrder = new datadog.LogsPipelineOrder(\"sample_pipeline_order\", {\n name: \"sample_pipeline_order\",\n pipelines: [\n samplePipeline.id,\n python.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nsample_pipeline_order = datadog.LogsPipelineOrder(\"sample_pipeline_order\",\n name=\"sample_pipeline_order\",\n pipelines=[\n sample_pipeline[\"id\"],\n python[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var samplePipelineOrder = new Datadog.LogsPipelineOrder(\"sample_pipeline_order\", new()\n {\n Name = \"sample_pipeline_order\",\n Pipelines = new[]\n {\n samplePipeline.Id,\n python.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewLogsPipelineOrder(ctx, \"sample_pipeline_order\", \u0026datadog.LogsPipelineOrderArgs{\n\t\t\tName: pulumi.String(\"sample_pipeline_order\"),\n\t\t\tPipelines: pulumi.StringArray{\n\t\t\t\tsamplePipeline.Id,\n\t\t\t\tpython.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.LogsPipelineOrder;\nimport com.pulumi.datadog.LogsPipelineOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var samplePipelineOrder = new LogsPipelineOrder(\"samplePipelineOrder\", LogsPipelineOrderArgs.builder()\n .name(\"sample_pipeline_order\")\n .pipelines( \n samplePipeline.id(),\n python.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n samplePipelineOrder:\n type: datadog:LogsPipelineOrder\n name: sample_pipeline_order\n properties:\n name: sample_pipeline_order\n pipelines:\n - ${samplePipeline.id}\n - ${python.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThere must be at most one datadog_logs_pipeline_order resource. Pipeline order creation is not supported from logs config API. You can import the datadog_logs_pipeline_order or create a pipeline order (which is actually doing the update operation).\n\n```sh\n$ pulumi import datadog:index/logsPipelineOrder:LogsPipelineOrder name\u003e \u003cname\u003e\n```\n\n", "properties": { "name": { "type": "string", @@ -75667,7 +75667,7 @@ } }, "datadog:index/metricMetadata:MetricMetadata": { - "description": "Provides a Datadog metric_metadata resource. This can be used to manage a metric's metadata.\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// Manage a Datadog metric's metadata\nconst requestTime = new datadog.MetricMetadata(\"request_time\", {\n metric: \"request.time\",\n shortName: \"Request time\",\n description: \"99th percentile request time in milliseconds\",\n type: \"gauge\",\n unit: \"millisecond\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a Datadog metric's metadata\nrequest_time = datadog.MetricMetadata(\"request_time\",\n metric=\"request.time\",\n short_name=\"Request time\",\n description=\"99th percentile request time in milliseconds\",\n type=\"gauge\",\n unit=\"millisecond\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a Datadog metric's metadata\n var requestTime = new Datadog.MetricMetadata(\"request_time\", new()\n {\n Metric = \"request.time\",\n ShortName = \"Request time\",\n Description = \"99th percentile request time in milliseconds\",\n Type = \"gauge\",\n Unit = \"millisecond\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage a Datadog metric's metadata\n\t\t_, err := datadog.NewMetricMetadata(ctx, \"request_time\", \u0026datadog.MetricMetadataArgs{\n\t\t\tMetric: pulumi.String(\"request.time\"),\n\t\t\tShortName: pulumi.String(\"Request time\"),\n\t\t\tDescription: pulumi.String(\"99th percentile request time in milliseconds\"),\n\t\t\tType: pulumi.String(\"gauge\"),\n\t\t\tUnit: pulumi.String(\"millisecond\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricMetadata;\nimport com.pulumi.datadog.MetricMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage a Datadog metric's metadata\n var requestTime = new MetricMetadata(\"requestTime\", MetricMetadataArgs.builder() \n .metric(\"request.time\")\n .shortName(\"Request time\")\n .description(\"99th percentile request time in milliseconds\")\n .type(\"gauge\")\n .unit(\"millisecond\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a Datadog metric's metadata\n requestTime:\n type: datadog:MetricMetadata\n name: request_time\n properties:\n metric: request.time\n shortName: Request time\n description: 99th percentile request time in milliseconds\n type: gauge\n unit: millisecond\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/metricMetadata:MetricMetadata request_time request.time\n```\n\n", + "description": "Provides a Datadog metric_metadata resource. This can be used to manage a metric's metadata.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a Datadog metric's metadata\nconst requestTime = new datadog.MetricMetadata(\"request_time\", {\n metric: \"request.time\",\n shortName: \"Request time\",\n description: \"99th percentile request time in milliseconds\",\n type: \"gauge\",\n unit: \"millisecond\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a Datadog metric's metadata\nrequest_time = datadog.MetricMetadata(\"request_time\",\n metric=\"request.time\",\n short_name=\"Request time\",\n description=\"99th percentile request time in milliseconds\",\n type=\"gauge\",\n unit=\"millisecond\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a Datadog metric's metadata\n var requestTime = new Datadog.MetricMetadata(\"request_time\", new()\n {\n Metric = \"request.time\",\n ShortName = \"Request time\",\n Description = \"99th percentile request time in milliseconds\",\n Type = \"gauge\",\n Unit = \"millisecond\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage a Datadog metric's metadata\n\t\t_, err := datadog.NewMetricMetadata(ctx, \"request_time\", \u0026datadog.MetricMetadataArgs{\n\t\t\tMetric: pulumi.String(\"request.time\"),\n\t\t\tShortName: pulumi.String(\"Request time\"),\n\t\t\tDescription: pulumi.String(\"99th percentile request time in milliseconds\"),\n\t\t\tType: pulumi.String(\"gauge\"),\n\t\t\tUnit: pulumi.String(\"millisecond\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricMetadata;\nimport com.pulumi.datadog.MetricMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage a Datadog metric's metadata\n var requestTime = new MetricMetadata(\"requestTime\", MetricMetadataArgs.builder()\n .metric(\"request.time\")\n .shortName(\"Request time\")\n .description(\"99th percentile request time in milliseconds\")\n .type(\"gauge\")\n .unit(\"millisecond\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a Datadog metric's metadata\n requestTime:\n type: datadog:MetricMetadata\n name: request_time\n properties:\n metric: request.time\n shortName: Request time\n description: 99th percentile request time in milliseconds\n type: gauge\n unit: millisecond\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/metricMetadata:MetricMetadata request_time request.time\n```\n\n", "properties": { "description": { "type": "string", @@ -75770,7 +75770,7 @@ } }, "datadog:index/metricTagConfiguration:MetricTagConfiguration": { - "description": "Provides a Datadog metric tag configuration resource. This can be used to modify tag configurations for metrics.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a tag configuration for a Datadog distribution metric with/without percentiles\nconst exampleDistMetric = new datadog.MetricTagConfiguration(\"example_dist_metric\", {\n metricName: \"example.terraform.dist.metric\",\n metricType: \"distribution\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n includePercentiles: false,\n});\n// Manage tag configurations for a Datadog count or gauge metric\nconst exampleCountMetric = new datadog.MetricTagConfiguration(\"example_count_metric\", {\n metricName: \"example.terraform.count.metric\",\n metricType: \"count\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n excludeTagsMode: false,\n aggregations: [\n {\n time: \"avg\",\n space: \"min\",\n },\n {\n time: \"avg\",\n space: \"max\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a tag configuration for a Datadog distribution metric with/without percentiles\nexample_dist_metric = datadog.MetricTagConfiguration(\"example_dist_metric\",\n metric_name=\"example.terraform.dist.metric\",\n metric_type=\"distribution\",\n tags=[\n \"sport\",\n \"datacenter\",\n ],\n include_percentiles=False)\n# Manage tag configurations for a Datadog count or gauge metric\nexample_count_metric = datadog.MetricTagConfiguration(\"example_count_metric\",\n metric_name=\"example.terraform.count.metric\",\n metric_type=\"count\",\n tags=[\n \"sport\",\n \"datacenter\",\n ],\n exclude_tags_mode=False,\n aggregations=[\n datadog.MetricTagConfigurationAggregationArgs(\n time=\"avg\",\n space=\"min\",\n ),\n datadog.MetricTagConfigurationAggregationArgs(\n time=\"avg\",\n space=\"max\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a tag configuration for a Datadog distribution metric with/without percentiles\n var exampleDistMetric = new Datadog.MetricTagConfiguration(\"example_dist_metric\", new()\n {\n MetricName = \"example.terraform.dist.metric\",\n MetricType = \"distribution\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n IncludePercentiles = false,\n });\n\n // Manage tag configurations for a Datadog count or gauge metric\n var exampleCountMetric = new Datadog.MetricTagConfiguration(\"example_count_metric\", new()\n {\n MetricName = \"example.terraform.count.metric\",\n MetricType = \"count\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n ExcludeTagsMode = false,\n Aggregations = new[]\n {\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Time = \"avg\",\n Space = \"min\",\n },\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Time = \"avg\",\n Space = \"max\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage a tag configuration for a Datadog distribution metric with/without percentiles\n\t\t_, err := datadog.NewMetricTagConfiguration(ctx, \"example_dist_metric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tMetricName: pulumi.String(\"example.terraform.dist.metric\"),\n\t\t\tMetricType: pulumi.String(\"distribution\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t\tIncludePercentiles: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manage tag configurations for a Datadog count or gauge metric\n\t\t_, err = datadog.NewMetricTagConfiguration(ctx, \"example_count_metric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tMetricName: pulumi.String(\"example.terraform.count.metric\"),\n\t\t\tMetricType: pulumi.String(\"count\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t\tExcludeTagsMode: pulumi.Bool(false),\n\t\t\tAggregations: datadog.MetricTagConfigurationAggregationArray{\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t\tSpace: pulumi.String(\"min\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t\tSpace: pulumi.String(\"max\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricTagConfiguration;\nimport com.pulumi.datadog.MetricTagConfigurationArgs;\nimport com.pulumi.datadog.inputs.MetricTagConfigurationAggregationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage a tag configuration for a Datadog distribution metric with/without percentiles\n var exampleDistMetric = new MetricTagConfiguration(\"exampleDistMetric\", MetricTagConfigurationArgs.builder() \n .metricName(\"example.terraform.dist.metric\")\n .metricType(\"distribution\")\n .tags( \n \"sport\",\n \"datacenter\")\n .includePercentiles(false)\n .build());\n\n // Manage tag configurations for a Datadog count or gauge metric\n var exampleCountMetric = new MetricTagConfiguration(\"exampleCountMetric\", MetricTagConfigurationArgs.builder() \n .metricName(\"example.terraform.count.metric\")\n .metricType(\"count\")\n .tags( \n \"sport\",\n \"datacenter\")\n .excludeTagsMode(false)\n .aggregations( \n MetricTagConfigurationAggregationArgs.builder()\n .time(\"avg\")\n .space(\"min\")\n .build(),\n MetricTagConfigurationAggregationArgs.builder()\n .time(\"avg\")\n .space(\"max\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a tag configuration for a Datadog distribution metric with/without percentiles\n exampleDistMetric:\n type: datadog:MetricTagConfiguration\n name: example_dist_metric\n properties:\n metricName: example.terraform.dist.metric\n metricType: distribution\n tags:\n - sport\n - datacenter\n includePercentiles: false\n # Manage tag configurations for a Datadog count or gauge metric\n exampleCountMetric:\n type: datadog:MetricTagConfiguration\n name: example_count_metric\n properties:\n metricName: example.terraform.count.metric\n metricType: count\n tags:\n - sport\n - datacenter\n excludeTagsMode: false\n aggregations:\n - time: avg\n space: min\n - time: avg\n space: max\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/metricTagConfiguration:MetricTagConfiguration example_dist_metric example.terraform.dist.metric\n```\n\n", + "description": "Provides a Datadog metric tag configuration resource. This can be used to modify tag configurations for metrics.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage a tag configuration for a Datadog distribution metric with/without percentiles\nconst exampleDistMetric = new datadog.MetricTagConfiguration(\"example_dist_metric\", {\n metricName: \"example.terraform.dist.metric\",\n metricType: \"distribution\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n includePercentiles: false,\n});\n// Manage tag configurations for a Datadog count or gauge metric\nconst exampleCountMetric = new datadog.MetricTagConfiguration(\"example_count_metric\", {\n metricName: \"example.terraform.count.metric\",\n metricType: \"count\",\n tags: [\n \"sport\",\n \"datacenter\",\n ],\n excludeTagsMode: false,\n aggregations: [\n {\n time: \"avg\",\n space: \"min\",\n },\n {\n time: \"avg\",\n space: \"max\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage a tag configuration for a Datadog distribution metric with/without percentiles\nexample_dist_metric = datadog.MetricTagConfiguration(\"example_dist_metric\",\n metric_name=\"example.terraform.dist.metric\",\n metric_type=\"distribution\",\n tags=[\n \"sport\",\n \"datacenter\",\n ],\n include_percentiles=False)\n# Manage tag configurations for a Datadog count or gauge metric\nexample_count_metric = datadog.MetricTagConfiguration(\"example_count_metric\",\n metric_name=\"example.terraform.count.metric\",\n metric_type=\"count\",\n tags=[\n \"sport\",\n \"datacenter\",\n ],\n exclude_tags_mode=False,\n aggregations=[\n datadog.MetricTagConfigurationAggregationArgs(\n time=\"avg\",\n space=\"min\",\n ),\n datadog.MetricTagConfigurationAggregationArgs(\n time=\"avg\",\n space=\"max\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage a tag configuration for a Datadog distribution metric with/without percentiles\n var exampleDistMetric = new Datadog.MetricTagConfiguration(\"example_dist_metric\", new()\n {\n MetricName = \"example.terraform.dist.metric\",\n MetricType = \"distribution\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n IncludePercentiles = false,\n });\n\n // Manage tag configurations for a Datadog count or gauge metric\n var exampleCountMetric = new Datadog.MetricTagConfiguration(\"example_count_metric\", new()\n {\n MetricName = \"example.terraform.count.metric\",\n MetricType = \"count\",\n Tags = new[]\n {\n \"sport\",\n \"datacenter\",\n },\n ExcludeTagsMode = false,\n Aggregations = new[]\n {\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Time = \"avg\",\n Space = \"min\",\n },\n new Datadog.Inputs.MetricTagConfigurationAggregationArgs\n {\n Time = \"avg\",\n Space = \"max\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage a tag configuration for a Datadog distribution metric with/without percentiles\n\t\t_, err := datadog.NewMetricTagConfiguration(ctx, \"example_dist_metric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tMetricName: pulumi.String(\"example.terraform.dist.metric\"),\n\t\t\tMetricType: pulumi.String(\"distribution\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t\tIncludePercentiles: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manage tag configurations for a Datadog count or gauge metric\n\t\t_, err = datadog.NewMetricTagConfiguration(ctx, \"example_count_metric\", \u0026datadog.MetricTagConfigurationArgs{\n\t\t\tMetricName: pulumi.String(\"example.terraform.count.metric\"),\n\t\t\tMetricType: pulumi.String(\"count\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sport\"),\n\t\t\t\tpulumi.String(\"datacenter\"),\n\t\t\t},\n\t\t\tExcludeTagsMode: pulumi.Bool(false),\n\t\t\tAggregations: datadog.MetricTagConfigurationAggregationArray{\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t\tSpace: pulumi.String(\"min\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.MetricTagConfigurationAggregationArgs{\n\t\t\t\t\tTime: pulumi.String(\"avg\"),\n\t\t\t\t\tSpace: pulumi.String(\"max\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MetricTagConfiguration;\nimport com.pulumi.datadog.MetricTagConfigurationArgs;\nimport com.pulumi.datadog.inputs.MetricTagConfigurationAggregationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage a tag configuration for a Datadog distribution metric with/without percentiles\n var exampleDistMetric = new MetricTagConfiguration(\"exampleDistMetric\", MetricTagConfigurationArgs.builder()\n .metricName(\"example.terraform.dist.metric\")\n .metricType(\"distribution\")\n .tags( \n \"sport\",\n \"datacenter\")\n .includePercentiles(false)\n .build());\n\n // Manage tag configurations for a Datadog count or gauge metric\n var exampleCountMetric = new MetricTagConfiguration(\"exampleCountMetric\", MetricTagConfigurationArgs.builder()\n .metricName(\"example.terraform.count.metric\")\n .metricType(\"count\")\n .tags( \n \"sport\",\n \"datacenter\")\n .excludeTagsMode(false)\n .aggregations( \n MetricTagConfigurationAggregationArgs.builder()\n .time(\"avg\")\n .space(\"min\")\n .build(),\n MetricTagConfigurationAggregationArgs.builder()\n .time(\"avg\")\n .space(\"max\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage a tag configuration for a Datadog distribution metric with/without percentiles\n exampleDistMetric:\n type: datadog:MetricTagConfiguration\n name: example_dist_metric\n properties:\n metricName: example.terraform.dist.metric\n metricType: distribution\n tags:\n - sport\n - datacenter\n includePercentiles: false\n # Manage tag configurations for a Datadog count or gauge metric\n exampleCountMetric:\n type: datadog:MetricTagConfiguration\n name: example_count_metric\n properties:\n metricName: example.terraform.count.metric\n metricType: count\n tags:\n - sport\n - datacenter\n excludeTagsMode: false\n aggregations:\n - time: avg\n space: min\n - time: avg\n space: max\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/metricTagConfiguration:MetricTagConfiguration example_dist_metric example.terraform.dist.metric\n```\n\n", "properties": { "aggregations": { "type": "array", @@ -75888,7 +75888,7 @@ } }, "datadog:index/monitor:Monitor": { - "description": "Provides a Datadog monitor resource. This can be used to create and manage Datadog monitors.\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\nconst foo = new datadog.Monitor(\"foo\", {\n name: \"Name for monitor foo\",\n type: \"metric alert\",\n message: \"Monitor triggered. Notify: @hipchat-channel\",\n escalationMessage: \"Escalation message @pagerduty\",\n query: \"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\",\n monitorThresholds: {\n warning: \"2\",\n critical: \"4\",\n },\n includeTags: true,\n tags: [\n \"foo:bar\",\n \"team:fooBar\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Monitor(\"foo\",\n name=\"Name for monitor foo\",\n type=\"metric alert\",\n message=\"Monitor triggered. Notify: @hipchat-channel\",\n escalation_message=\"Escalation message @pagerduty\",\n query=\"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\",\n monitor_thresholds=datadog.MonitorMonitorThresholdsArgs(\n warning=\"2\",\n critical=\"4\",\n ),\n include_tags=True,\n tags=[\n \"foo:bar\",\n \"team:fooBar\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Monitor(\"foo\", new()\n {\n Name = \"Name for monitor foo\",\n Type = \"metric alert\",\n Message = \"Monitor triggered. Notify: @hipchat-channel\",\n EscalationMessage = \"Escalation message @pagerduty\",\n Query = \"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\",\n MonitorThresholds = new Datadog.Inputs.MonitorMonitorThresholdsArgs\n {\n Warning = \"2\",\n Critical = \"4\",\n },\n IncludeTags = true,\n Tags = new[]\n {\n \"foo:bar\",\n \"team:fooBar\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMonitor(ctx, \"foo\", \u0026datadog.MonitorArgs{\n\t\t\tName: pulumi.String(\"Name for monitor foo\"),\n\t\t\tType: pulumi.String(\"metric alert\"),\n\t\t\tMessage: pulumi.String(\"Monitor triggered. Notify: @hipchat-channel\"),\n\t\t\tEscalationMessage: pulumi.String(\"Escalation message @pagerduty\"),\n\t\t\tQuery: pulumi.String(\"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\"),\n\t\t\tMonitorThresholds: \u0026datadog.MonitorMonitorThresholdsArgs{\n\t\t\t\tWarning: pulumi.String(\"2\"),\n\t\t\t\tCritical: pulumi.String(\"4\"),\n\t\t\t},\n\t\t\tIncludeTags: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"team:fooBar\"),\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.Monitor;\nimport com.pulumi.datadog.MonitorArgs;\nimport com.pulumi.datadog.inputs.MonitorMonitorThresholdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Monitor(\"foo\", MonitorArgs.builder() \n .name(\"Name for monitor foo\")\n .type(\"metric alert\")\n .message(\"Monitor triggered. Notify: @hipchat-channel\")\n .escalationMessage(\"Escalation message @pagerduty\")\n .query(\"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\")\n .monitorThresholds(MonitorMonitorThresholdsArgs.builder()\n .warning(2)\n .critical(4)\n .build())\n .includeTags(true)\n .tags( \n \"foo:bar\",\n \"team:fooBar\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Monitor\n properties:\n name: Name for monitor foo\n type: metric alert\n message: 'Monitor triggered. Notify: @hipchat-channel'\n escalationMessage: Escalation message @pagerduty\n query: avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\n monitorThresholds:\n warning: 2\n critical: 4\n includeTags: true\n tags:\n - foo:bar\n - team:fooBar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/monitor:Monitor bytes_received_localhost 2081\n```\n\n", + "description": "Provides a Datadog monitor resource. This can be used to create and manage Datadog monitors.\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\nconst foo = new datadog.Monitor(\"foo\", {\n name: \"Name for monitor foo\",\n type: \"metric alert\",\n message: \"Monitor triggered. Notify: @hipchat-channel\",\n escalationMessage: \"Escalation message @pagerduty\",\n query: \"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\",\n monitorThresholds: {\n warning: \"2\",\n critical: \"4\",\n },\n includeTags: true,\n tags: [\n \"foo:bar\",\n \"team:fooBar\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Monitor(\"foo\",\n name=\"Name for monitor foo\",\n type=\"metric alert\",\n message=\"Monitor triggered. Notify: @hipchat-channel\",\n escalation_message=\"Escalation message @pagerduty\",\n query=\"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\",\n monitor_thresholds=datadog.MonitorMonitorThresholdsArgs(\n warning=\"2\",\n critical=\"4\",\n ),\n include_tags=True,\n tags=[\n \"foo:bar\",\n \"team:fooBar\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Monitor(\"foo\", new()\n {\n Name = \"Name for monitor foo\",\n Type = \"metric alert\",\n Message = \"Monitor triggered. Notify: @hipchat-channel\",\n EscalationMessage = \"Escalation message @pagerduty\",\n Query = \"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\",\n MonitorThresholds = new Datadog.Inputs.MonitorMonitorThresholdsArgs\n {\n Warning = \"2\",\n Critical = \"4\",\n },\n IncludeTags = true,\n Tags = new[]\n {\n \"foo:bar\",\n \"team:fooBar\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMonitor(ctx, \"foo\", \u0026datadog.MonitorArgs{\n\t\t\tName: pulumi.String(\"Name for monitor foo\"),\n\t\t\tType: pulumi.String(\"metric alert\"),\n\t\t\tMessage: pulumi.String(\"Monitor triggered. Notify: @hipchat-channel\"),\n\t\t\tEscalationMessage: pulumi.String(\"Escalation message @pagerduty\"),\n\t\t\tQuery: pulumi.String(\"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\"),\n\t\t\tMonitorThresholds: \u0026datadog.MonitorMonitorThresholdsArgs{\n\t\t\t\tWarning: pulumi.String(\"2\"),\n\t\t\t\tCritical: pulumi.String(\"4\"),\n\t\t\t},\n\t\t\tIncludeTags: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"team:fooBar\"),\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.Monitor;\nimport com.pulumi.datadog.MonitorArgs;\nimport com.pulumi.datadog.inputs.MonitorMonitorThresholdsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Monitor(\"foo\", MonitorArgs.builder()\n .name(\"Name for monitor foo\")\n .type(\"metric alert\")\n .message(\"Monitor triggered. Notify: @hipchat-channel\")\n .escalationMessage(\"Escalation message @pagerduty\")\n .query(\"avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\")\n .monitorThresholds(MonitorMonitorThresholdsArgs.builder()\n .warning(2)\n .critical(4)\n .build())\n .includeTags(true)\n .tags( \n \"foo:bar\",\n \"team:fooBar\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Monitor\n properties:\n name: Name for monitor foo\n type: metric alert\n message: 'Monitor triggered. Notify: @hipchat-channel'\n escalationMessage: Escalation message @pagerduty\n query: avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} \u003e 4\n monitorThresholds:\n warning: 2\n critical: 4\n includeTags: true\n tags:\n - foo:bar\n - team:fooBar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/monitor:Monitor bytes_received_localhost 2081\n```\n\n", "properties": { "enableLogsSample": { "type": "boolean", @@ -76366,7 +76366,7 @@ } }, "datadog:index/monitorConfigPolicy:MonitorConfigPolicy": { - "description": "Provides a Datadog monitor config policy resource. This can be used to create and manage Datadog monitor config policies.\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\nconst test = new datadog.MonitorConfigPolicy(\"test\", {\n policyType: \"tag\",\n tagPolicy: {\n tagKey: \"env\",\n tagKeyRequired: false,\n validTagValues: [\n \"staging\",\n \"prod\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest = datadog.MonitorConfigPolicy(\"test\",\n policy_type=\"tag\",\n tag_policy=datadog.MonitorConfigPolicyTagPolicyArgs(\n tag_key=\"env\",\n tag_key_required=False,\n valid_tag_values=[\n \"staging\",\n \"prod\",\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Datadog.MonitorConfigPolicy(\"test\", new()\n {\n PolicyType = \"tag\",\n TagPolicy = new Datadog.Inputs.MonitorConfigPolicyTagPolicyArgs\n {\n TagKey = \"env\",\n TagKeyRequired = false,\n ValidTagValues = new[]\n {\n \"staging\",\n \"prod\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMonitorConfigPolicy(ctx, \"test\", \u0026datadog.MonitorConfigPolicyArgs{\n\t\t\tPolicyType: pulumi.String(\"tag\"),\n\t\t\tTagPolicy: \u0026datadog.MonitorConfigPolicyTagPolicyArgs{\n\t\t\t\tTagKey: pulumi.String(\"env\"),\n\t\t\t\tTagKeyRequired: pulumi.Bool(false),\n\t\t\t\tValidTagValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"staging\"),\n\t\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MonitorConfigPolicy;\nimport com.pulumi.datadog.MonitorConfigPolicyArgs;\nimport com.pulumi.datadog.inputs.MonitorConfigPolicyTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new MonitorConfigPolicy(\"test\", MonitorConfigPolicyArgs.builder() \n .policyType(\"tag\")\n .tagPolicy(MonitorConfigPolicyTagPolicyArgs.builder()\n .tagKey(\"env\")\n .tagKeyRequired(false)\n .validTagValues( \n \"staging\",\n \"prod\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: datadog:MonitorConfigPolicy\n properties:\n policyType: tag\n tagPolicy:\n tagKey: env\n tagKeyRequired: false\n validTagValues:\n - staging\n - prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Datadog monitor config policy resource. This can be used to create and manage Datadog monitor config policies.\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\nconst test = new datadog.MonitorConfigPolicy(\"test\", {\n policyType: \"tag\",\n tagPolicy: {\n tagKey: \"env\",\n tagKeyRequired: false,\n validTagValues: [\n \"staging\",\n \"prod\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest = datadog.MonitorConfigPolicy(\"test\",\n policy_type=\"tag\",\n tag_policy=datadog.MonitorConfigPolicyTagPolicyArgs(\n tag_key=\"env\",\n tag_key_required=False,\n valid_tag_values=[\n \"staging\",\n \"prod\",\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Datadog.MonitorConfigPolicy(\"test\", new()\n {\n PolicyType = \"tag\",\n TagPolicy = new Datadog.Inputs.MonitorConfigPolicyTagPolicyArgs\n {\n TagKey = \"env\",\n TagKeyRequired = false,\n ValidTagValues = new[]\n {\n \"staging\",\n \"prod\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMonitorConfigPolicy(ctx, \"test\", \u0026datadog.MonitorConfigPolicyArgs{\n\t\t\tPolicyType: pulumi.String(\"tag\"),\n\t\t\tTagPolicy: \u0026datadog.MonitorConfigPolicyTagPolicyArgs{\n\t\t\t\tTagKey: pulumi.String(\"env\"),\n\t\t\t\tTagKeyRequired: pulumi.Bool(false),\n\t\t\t\tValidTagValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"staging\"),\n\t\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MonitorConfigPolicy;\nimport com.pulumi.datadog.MonitorConfigPolicyArgs;\nimport com.pulumi.datadog.inputs.MonitorConfigPolicyTagPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new MonitorConfigPolicy(\"test\", MonitorConfigPolicyArgs.builder()\n .policyType(\"tag\")\n .tagPolicy(MonitorConfigPolicyTagPolicyArgs.builder()\n .tagKey(\"env\")\n .tagKeyRequired(false)\n .validTagValues( \n \"staging\",\n \"prod\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: datadog:MonitorConfigPolicy\n properties:\n policyType: tag\n tagPolicy:\n tagKey: env\n tagKeyRequired: false\n validTagValues:\n - staging\n - prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "policyType": { "type": "string", @@ -76409,7 +76409,7 @@ } }, "datadog:index/monitorJson:MonitorJson": { - "description": "Provides a Datadog monitor JSON resource. This can be used to create and manage Datadog monitors using the JSON definition.\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\nconst monitorJson = new datadog.MonitorJson(\"monitor_json\", {monitor: `{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\\\"ntp.in_sync\\\\\".by(\\\\\"*\\\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\\\n\\\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\\x09\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmonitor_json = datadog.MonitorJson(\"monitor_json\", monitor=\"\"\"{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\\x09\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitorJson = new Datadog.MonitorJson(\"monitor_json\", new()\n {\n Monitor = @\"{\n \"\"name\"\": \"\"Example monitor - service check\"\",\n \"\"type\"\": \"\"service check\"\",\n \"\"query\"\": \"\"\\\"\"ntp.in_sync\\\"\".by(\\\"\"*\\\"\").last(2).count_by_status()\"\",\n \"\"message\"\": \"\"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\"\",\n \"\"tags\"\": [],\n \"\"multi\"\": true,\n\t\"\"restricted_roles\"\": null,\n \"\"options\"\": {\n \"\"include_tags\"\": true,\n \"\"new_host_delay\"\": 150,\n \"\"notify_audit\"\": false,\n \"\"notify_no_data\"\": false,\n \"\"thresholds\"\": {\n \"\"warning\"\": 1,\n \"\"ok\"\": 1,\n \"\"critical\"\": 1\n }\n },\n \"\"priority\"\": null,\n \"\"classification\"\": \"\"custom\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMonitorJson(ctx, \"monitor_json\", \u0026datadog.MonitorJsonArgs{\n\t\t\tMonitor: pulumi.String(`{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\t\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MonitorJson;\nimport com.pulumi.datadog.MonitorJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitorJson = new MonitorJson(\"monitorJson\", MonitorJsonArgs.builder() \n .monitor(\"\"\"\n{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\t\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitorJson:\n type: datadog:MonitorJson\n name: monitor_json\n properties:\n monitor: |\n {\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n \t\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/monitorJson:MonitorJson monitor_json 123456\n```\n\n", + "description": "Provides a Datadog monitor JSON resource. This can be used to create and manage Datadog monitors using the JSON definition.\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\nconst monitorJson = new datadog.MonitorJson(\"monitor_json\", {monitor: `{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\\\"ntp.in_sync\\\\\".by(\\\\\"*\\\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\\\n\\\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\\x09\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmonitor_json = datadog.MonitorJson(\"monitor_json\", monitor=\"\"\"{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\\x09\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitorJson = new Datadog.MonitorJson(\"monitor_json\", new()\n {\n Monitor = @\"{\n \"\"name\"\": \"\"Example monitor - service check\"\",\n \"\"type\"\": \"\"service check\"\",\n \"\"query\"\": \"\"\\\"\"ntp.in_sync\\\"\".by(\\\"\"*\\\"\").last(2).count_by_status()\"\",\n \"\"message\"\": \"\"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\"\",\n \"\"tags\"\": [],\n \"\"multi\"\": true,\n\t\"\"restricted_roles\"\": null,\n \"\"options\"\": {\n \"\"include_tags\"\": true,\n \"\"new_host_delay\"\": 150,\n \"\"notify_audit\"\": false,\n \"\"notify_no_data\"\": false,\n \"\"thresholds\"\": {\n \"\"warning\"\": 1,\n \"\"ok\"\": 1,\n \"\"critical\"\": 1\n }\n },\n \"\"priority\"\": null,\n \"\"classification\"\": \"\"custom\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewMonitorJson(ctx, \"monitor_json\", \u0026datadog.MonitorJsonArgs{\n\t\t\tMonitor: pulumi.String(`{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\t\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.MonitorJson;\nimport com.pulumi.datadog.MonitorJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitorJson = new MonitorJson(\"monitorJson\", MonitorJsonArgs.builder()\n .monitor(\"\"\"\n{\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n\t\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitorJson:\n type: datadog:MonitorJson\n name: monitor_json\n properties:\n monitor: |\n {\n \"name\": \"Example monitor - service check\",\n \"type\": \"service check\",\n \"query\": \"\\\"ntp.in_sync\\\".by(\\\"*\\\").last(2).count_by_status()\",\n \"message\": \"Change the message triggers if any host's clock goes out of sync with the time given by NTP. The offset threshold is configured in the Agent's 'ntp.yaml' file.\\n\\nSee [Troubleshooting NTP Offset issues](https://docs.datadoghq.com/agent/troubleshooting/ntp for more details on cause and resolution.\",\n \"tags\": [],\n \"multi\": true,\n \t\"restricted_roles\": null,\n \"options\": {\n \"include_tags\": true,\n \"new_host_delay\": 150,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"thresholds\": {\n \"warning\": 1,\n \"ok\": 1,\n \"critical\": 1\n }\n },\n \"priority\": null,\n \"classification\": \"custom\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/monitorJson:MonitorJson monitor_json 123456\n```\n\n", "properties": { "monitor": { "type": "string", @@ -76484,7 +76484,7 @@ } }, "datadog:index/organizationSettings:OrganizationSettings": { - "description": "Provides a Datadog Organization resource. This can be used to manage your Datadog organization's settings.\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// Manage Datadog Organization\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Organization\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Organization\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage Datadog Organization\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage Datadog Organization\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Organization\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/organizationSettings:OrganizationSettings organization 11111111-2222-3333-4444-555555555555\n```\n\n", + "description": "Provides a Datadog Organization resource. This can be used to manage your Datadog organization's settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage Datadog Organization\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Organization\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Organization\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage Datadog Organization\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage Datadog Organization\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder()\n .name(\"foo-organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Organization\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/organizationSettings:OrganizationSettings organization 11111111-2222-3333-4444-555555555555\n```\n\n", "properties": { "description": { "type": "string", @@ -76542,7 +76542,7 @@ } }, "datadog:index/powerpack:Powerpack": { - "description": "Provides a Datadog powerpack resource. This can be used to create and manage Datadog powerpacks.\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// Manage Datadog Powerpacks\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\nconst foo = new datadog.Powerpack(\"foo\", {\n description: \"Created using the Datadog provider in terraform\",\n liveSpan: \"4h\",\n layout: {\n height: 10,\n width: 3,\n x: 1,\n y: 0,\n },\n templateVariables: [{\n defaults: [\"defaults\"],\n name: \"datacenter\",\n }],\n widgets: [{\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"right\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Powerpacks\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\nfoo = datadog.Powerpack(\"foo\",\n description=\"Created using the Datadog provider in terraform\",\n live_span=\"4h\",\n layout=datadog.PowerpackLayoutArgs(\n height=10,\n width=3,\n x=1,\n y=0,\n ),\n template_variables=[datadog.PowerpackTemplateVariableArgs(\n defaults=[\"defaults\"],\n name=\"datacenter\",\n )],\n widgets=[datadog.PowerpackWidgetArgs(\n event_stream_definition=datadog.PowerpackWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"right\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Powerpacks\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n var foo = new Datadog.Powerpack(\"foo\", new()\n {\n Description = \"Created using the Datadog provider in terraform\",\n LiveSpan = \"4h\",\n Layout = new Datadog.Inputs.PowerpackLayoutArgs\n {\n Height = 10,\n Width = 3,\n X = 1,\n Y = 0,\n },\n TemplateVariables = new[]\n {\n new Datadog.Inputs.PowerpackTemplateVariableArgs\n {\n Defaults = new[]\n {\n \"defaults\",\n },\n Name = \"datacenter\",\n },\n },\n Widgets = new[]\n {\n new Datadog.Inputs.PowerpackWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.PowerpackWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"right\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage Datadog Powerpacks\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewPowerpack(ctx, \"foo\", \u0026datadog.PowerpackArgs{\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in terraform\"),\n\t\t\tLiveSpan: pulumi.String(\"4h\"),\n\t\t\tLayout: \u0026datadog.PowerpackLayoutArgs{\n\t\t\t\tHeight: pulumi.Int(10),\n\t\t\t\tWidth: pulumi.Int(3),\n\t\t\t\tX: pulumi.Int(1),\n\t\t\t\tY: pulumi.Int(0),\n\t\t\t},\n\t\t\tTemplateVariables: datadog.PowerpackTemplateVariableArray{\n\t\t\t\t\u0026datadog.PowerpackTemplateVariableArgs{\n\t\t\t\t\tDefaults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"defaults\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"datacenter\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWidgets: datadog.PowerpackWidgetArray{\n\t\t\t\t\u0026datadog.PowerpackWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.PowerpackWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"right\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport com.pulumi.datadog.Powerpack;\nimport com.pulumi.datadog.PowerpackArgs;\nimport com.pulumi.datadog.inputs.PowerpackLayoutArgs;\nimport com.pulumi.datadog.inputs.PowerpackTemplateVariableArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetEventStreamDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage Datadog Powerpacks\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder() \n .name(\"foo-organization\")\n .build());\n\n var foo = new Powerpack(\"foo\", PowerpackArgs.builder() \n .description(\"Created using the Datadog provider in terraform\")\n .liveSpan(\"4h\")\n .layout(PowerpackLayoutArgs.builder()\n .height(10)\n .width(3)\n .x(1)\n .y(0)\n .build())\n .templateVariables(PowerpackTemplateVariableArgs.builder()\n .defaults(\"defaults\")\n .name(\"datacenter\")\n .build())\n .widgets(PowerpackWidgetArgs.builder()\n .eventStreamDefinition(PowerpackWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"right\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Powerpacks\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n foo:\n type: datadog:Powerpack\n properties:\n description: Created using the Datadog provider in terraform\n liveSpan: 4h\n layout:\n height: 10\n width: 3\n x: 1\n y: 0\n templateVariables:\n - defaults:\n - defaults\n name: datacenter\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: right\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/powerpack:Powerpack foo 11111111-2222-3333-4444-555555555555\n```\n\n", + "description": "Provides a Datadog powerpack resource. This can be used to create and manage Datadog powerpacks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Manage Datadog Powerpacks\nconst organization = new datadog.OrganizationSettings(\"organization\", {name: \"foo-organization\"});\nconst foo = new datadog.Powerpack(\"foo\", {\n description: \"Created using the Datadog provider in terraform\",\n liveSpan: \"4h\",\n layout: {\n height: 10,\n width: 3,\n x: 1,\n y: 0,\n },\n templateVariables: [{\n defaults: [\"defaults\"],\n name: \"datacenter\",\n }],\n widgets: [{\n eventStreamDefinition: {\n query: \"*\",\n eventSize: \"l\",\n title: \"Widget Title\",\n titleSize: \"16\",\n titleAlign: \"right\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Manage Datadog Powerpacks\norganization = datadog.OrganizationSettings(\"organization\", name=\"foo-organization\")\nfoo = datadog.Powerpack(\"foo\",\n description=\"Created using the Datadog provider in terraform\",\n live_span=\"4h\",\n layout=datadog.PowerpackLayoutArgs(\n height=10,\n width=3,\n x=1,\n y=0,\n ),\n template_variables=[datadog.PowerpackTemplateVariableArgs(\n defaults=[\"defaults\"],\n name=\"datacenter\",\n )],\n widgets=[datadog.PowerpackWidgetArgs(\n event_stream_definition=datadog.PowerpackWidgetEventStreamDefinitionArgs(\n query=\"*\",\n event_size=\"l\",\n title=\"Widget Title\",\n title_size=\"16\",\n title_align=\"right\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Manage Datadog Powerpacks\n var organization = new Datadog.OrganizationSettings(\"organization\", new()\n {\n Name = \"foo-organization\",\n });\n\n var foo = new Datadog.Powerpack(\"foo\", new()\n {\n Description = \"Created using the Datadog provider in terraform\",\n LiveSpan = \"4h\",\n Layout = new Datadog.Inputs.PowerpackLayoutArgs\n {\n Height = 10,\n Width = 3,\n X = 1,\n Y = 0,\n },\n TemplateVariables = new[]\n {\n new Datadog.Inputs.PowerpackTemplateVariableArgs\n {\n Defaults = new[]\n {\n \"defaults\",\n },\n Name = \"datacenter\",\n },\n },\n Widgets = new[]\n {\n new Datadog.Inputs.PowerpackWidgetArgs\n {\n EventStreamDefinition = new Datadog.Inputs.PowerpackWidgetEventStreamDefinitionArgs\n {\n Query = \"*\",\n EventSize = \"l\",\n Title = \"Widget Title\",\n TitleSize = \"16\",\n TitleAlign = \"right\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Manage Datadog Powerpacks\n\t\t_, err := datadog.NewOrganizationSettings(ctx, \"organization\", \u0026datadog.OrganizationSettingsArgs{\n\t\t\tName: pulumi.String(\"foo-organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewPowerpack(ctx, \"foo\", \u0026datadog.PowerpackArgs{\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in terraform\"),\n\t\t\tLiveSpan: pulumi.String(\"4h\"),\n\t\t\tLayout: \u0026datadog.PowerpackLayoutArgs{\n\t\t\t\tHeight: pulumi.Int(10),\n\t\t\t\tWidth: pulumi.Int(3),\n\t\t\t\tX: pulumi.Int(1),\n\t\t\t\tY: pulumi.Int(0),\n\t\t\t},\n\t\t\tTemplateVariables: datadog.PowerpackTemplateVariableArray{\n\t\t\t\t\u0026datadog.PowerpackTemplateVariableArgs{\n\t\t\t\t\tDefaults: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"defaults\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"datacenter\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWidgets: datadog.PowerpackWidgetArray{\n\t\t\t\t\u0026datadog.PowerpackWidgetArgs{\n\t\t\t\t\tEventStreamDefinition: \u0026datadog.PowerpackWidgetEventStreamDefinitionArgs{\n\t\t\t\t\t\tQuery: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventSize: pulumi.String(\"l\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tTitleSize: pulumi.String(\"16\"),\n\t\t\t\t\t\tTitleAlign: pulumi.String(\"right\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.OrganizationSettings;\nimport com.pulumi.datadog.OrganizationSettingsArgs;\nimport com.pulumi.datadog.Powerpack;\nimport com.pulumi.datadog.PowerpackArgs;\nimport com.pulumi.datadog.inputs.PowerpackLayoutArgs;\nimport com.pulumi.datadog.inputs.PowerpackTemplateVariableArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetArgs;\nimport com.pulumi.datadog.inputs.PowerpackWidgetEventStreamDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Manage Datadog Powerpacks\n var organization = new OrganizationSettings(\"organization\", OrganizationSettingsArgs.builder()\n .name(\"foo-organization\")\n .build());\n\n var foo = new Powerpack(\"foo\", PowerpackArgs.builder()\n .description(\"Created using the Datadog provider in terraform\")\n .liveSpan(\"4h\")\n .layout(PowerpackLayoutArgs.builder()\n .height(10)\n .width(3)\n .x(1)\n .y(0)\n .build())\n .templateVariables(PowerpackTemplateVariableArgs.builder()\n .defaults(\"defaults\")\n .name(\"datacenter\")\n .build())\n .widgets(PowerpackWidgetArgs.builder()\n .eventStreamDefinition(PowerpackWidgetEventStreamDefinitionArgs.builder()\n .query(\"*\")\n .eventSize(\"l\")\n .title(\"Widget Title\")\n .titleSize(16)\n .titleAlign(\"right\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manage Datadog Powerpacks\n organization:\n type: datadog:OrganizationSettings\n properties:\n name: foo-organization\n foo:\n type: datadog:Powerpack\n properties:\n description: Created using the Datadog provider in terraform\n liveSpan: 4h\n layout:\n height: 10\n width: 3\n x: 1\n y: 0\n templateVariables:\n - defaults:\n - defaults\n name: datacenter\n widgets:\n - eventStreamDefinition:\n query: '*'\n eventSize: l\n title: Widget Title\n titleSize: 16\n titleAlign: right\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/powerpack:Powerpack foo 11111111-2222-3333-4444-555555555555\n```\n\n", "properties": { "description": { "type": "string", @@ -76681,7 +76681,7 @@ } }, "datadog:index/restrictionPolicy:RestrictionPolicy": { - "description": "Provides a Datadog RestrictionPolicy resource. This can be used to create and manage Datadog restriction policies.\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 new restriction_policy resource\nconst foo = new datadog.RestrictionPolicy(\"foo\", {\n resourceId: \"security-rule:abc-def-ghi\",\n bindings: [\n {\n principals: [\"role:00000000-0000-1111-0000-000000000000\"],\n relation: \"editor\",\n },\n {\n principals: [\"org:10000000-0000-1111-0000-000000000000\"],\n relation: \"viewer\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new restriction_policy resource\nfoo = datadog.RestrictionPolicy(\"foo\",\n resource_id=\"security-rule:abc-def-ghi\",\n bindings=[\n datadog.RestrictionPolicyBindingArgs(\n principals=[\"role:00000000-0000-1111-0000-000000000000\"],\n relation=\"editor\",\n ),\n datadog.RestrictionPolicyBindingArgs(\n principals=[\"org:10000000-0000-1111-0000-000000000000\"],\n relation=\"viewer\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new restriction_policy resource\n var foo = new Datadog.RestrictionPolicy(\"foo\", new()\n {\n ResourceId = \"security-rule:abc-def-ghi\",\n Bindings = new[]\n {\n new Datadog.Inputs.RestrictionPolicyBindingArgs\n {\n Principals = new[]\n {\n \"role:00000000-0000-1111-0000-000000000000\",\n },\n Relation = \"editor\",\n },\n new Datadog.Inputs.RestrictionPolicyBindingArgs\n {\n Principals = new[]\n {\n \"org:10000000-0000-1111-0000-000000000000\",\n },\n Relation = \"viewer\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new restriction_policy resource\n\t\t_, err := datadog.NewRestrictionPolicy(ctx, \"foo\", \u0026datadog.RestrictionPolicyArgs{\n\t\t\tResourceId: pulumi.String(\"security-rule:abc-def-ghi\"),\n\t\t\tBindings: datadog.RestrictionPolicyBindingArray{\n\t\t\t\t\u0026datadog.RestrictionPolicyBindingArgs{\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"role:00000000-0000-1111-0000-000000000000\"),\n\t\t\t\t\t},\n\t\t\t\t\tRelation: pulumi.String(\"editor\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.RestrictionPolicyBindingArgs{\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"org:10000000-0000-1111-0000-000000000000\"),\n\t\t\t\t\t},\n\t\t\t\t\tRelation: pulumi.String(\"viewer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.RestrictionPolicy;\nimport com.pulumi.datadog.RestrictionPolicyArgs;\nimport com.pulumi.datadog.inputs.RestrictionPolicyBindingArgs;\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 new restriction_policy resource\n var foo = new RestrictionPolicy(\"foo\", RestrictionPolicyArgs.builder() \n .resourceId(\"security-rule:abc-def-ghi\")\n .bindings( \n RestrictionPolicyBindingArgs.builder()\n .principals(\"role:00000000-0000-1111-0000-000000000000\")\n .relation(\"editor\")\n .build(),\n RestrictionPolicyBindingArgs.builder()\n .principals(\"org:10000000-0000-1111-0000-000000000000\")\n .relation(\"viewer\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new restriction_policy resource\n foo:\n type: datadog:RestrictionPolicy\n properties:\n resourceId: security-rule:abc-def-ghi\n bindings:\n - principals:\n - role:00000000-0000-1111-0000-000000000000\n relation: editor\n - principals:\n - org:10000000-0000-1111-0000-000000000000\n relation: viewer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/restrictionPolicy:RestrictionPolicy new_list \"\"\n```\n\n", + "description": "Provides a Datadog RestrictionPolicy resource. This can be used to create and manage Datadog restriction policies.\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 new restriction_policy resource\nconst foo = new datadog.RestrictionPolicy(\"foo\", {\n resourceId: \"security-rule:abc-def-ghi\",\n bindings: [\n {\n principals: [\"role:00000000-0000-1111-0000-000000000000\"],\n relation: \"editor\",\n },\n {\n principals: [\"org:10000000-0000-1111-0000-000000000000\"],\n relation: \"viewer\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new restriction_policy resource\nfoo = datadog.RestrictionPolicy(\"foo\",\n resource_id=\"security-rule:abc-def-ghi\",\n bindings=[\n datadog.RestrictionPolicyBindingArgs(\n principals=[\"role:00000000-0000-1111-0000-000000000000\"],\n relation=\"editor\",\n ),\n datadog.RestrictionPolicyBindingArgs(\n principals=[\"org:10000000-0000-1111-0000-000000000000\"],\n relation=\"viewer\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new restriction_policy resource\n var foo = new Datadog.RestrictionPolicy(\"foo\", new()\n {\n ResourceId = \"security-rule:abc-def-ghi\",\n Bindings = new[]\n {\n new Datadog.Inputs.RestrictionPolicyBindingArgs\n {\n Principals = new[]\n {\n \"role:00000000-0000-1111-0000-000000000000\",\n },\n Relation = \"editor\",\n },\n new Datadog.Inputs.RestrictionPolicyBindingArgs\n {\n Principals = new[]\n {\n \"org:10000000-0000-1111-0000-000000000000\",\n },\n Relation = \"viewer\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new restriction_policy resource\n\t\t_, err := datadog.NewRestrictionPolicy(ctx, \"foo\", \u0026datadog.RestrictionPolicyArgs{\n\t\t\tResourceId: pulumi.String(\"security-rule:abc-def-ghi\"),\n\t\t\tBindings: datadog.RestrictionPolicyBindingArray{\n\t\t\t\t\u0026datadog.RestrictionPolicyBindingArgs{\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"role:00000000-0000-1111-0000-000000000000\"),\n\t\t\t\t\t},\n\t\t\t\t\tRelation: pulumi.String(\"editor\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.RestrictionPolicyBindingArgs{\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"org:10000000-0000-1111-0000-000000000000\"),\n\t\t\t\t\t},\n\t\t\t\t\tRelation: pulumi.String(\"viewer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.RestrictionPolicy;\nimport com.pulumi.datadog.RestrictionPolicyArgs;\nimport com.pulumi.datadog.inputs.RestrictionPolicyBindingArgs;\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 new restriction_policy resource\n var foo = new RestrictionPolicy(\"foo\", RestrictionPolicyArgs.builder()\n .resourceId(\"security-rule:abc-def-ghi\")\n .bindings( \n RestrictionPolicyBindingArgs.builder()\n .principals(\"role:00000000-0000-1111-0000-000000000000\")\n .relation(\"editor\")\n .build(),\n RestrictionPolicyBindingArgs.builder()\n .principals(\"org:10000000-0000-1111-0000-000000000000\")\n .relation(\"viewer\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new restriction_policy resource\n foo:\n type: datadog:RestrictionPolicy\n properties:\n resourceId: security-rule:abc-def-ghi\n bindings:\n - principals:\n - role:00000000-0000-1111-0000-000000000000\n relation: editor\n - principals:\n - org:10000000-0000-1111-0000-000000000000\n relation: viewer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/restrictionPolicy:RestrictionPolicy new_list \"\"\n```\n\n", "properties": { "bindings": { "type": "array", @@ -76730,7 +76730,7 @@ } }, "datadog:index/role:Role": { - "description": "Provides a Datadog role resource. This can be used to create and manage Datadog roles.\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// Source the permissions\nconst bar = datadog.getPermissions({});\n// Create a new Datadog role\nconst foo = new datadog.Role(\"foo\", {\n name: \"foo\",\n permissions: [\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsDowntime),\n },\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsWrite),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source the permissions\nbar = datadog.get_permissions()\n# Create a new Datadog role\nfoo = datadog.Role(\"foo\",\n name=\"foo\",\n permissions=[\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsDowntime\"],\n ),\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsWrite\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source the permissions\n var bar = Datadog.GetPermissions.Invoke();\n\n // Create a new Datadog role\n var foo = new Datadog.Role(\"foo\", new()\n {\n Name = \"foo\",\n Permissions = new[]\n {\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsDowntime),\n },\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsWrite),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source the permissions\n\t\tbar, err := datadog.GetPermissions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog role\n\t\t_, err = datadog.NewRole(ctx, \"foo\", \u0026datadog.RoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPermissions: datadog.RolePermissionArray{\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: pulumi.String(bar.Permissions.MonitorsDowntime),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: pulumi.String(bar.Permissions.MonitorsWrite),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetPermissionsArgs;\nimport com.pulumi.datadog.Role;\nimport com.pulumi.datadog.RoleArgs;\nimport com.pulumi.datadog.inputs.RolePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source the permissions\n final var bar = DatadogFunctions.getPermissions();\n\n // Create a new Datadog role\n var foo = new Role(\"foo\", RoleArgs.builder() \n .name(\"foo\")\n .permissions( \n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsDowntime()))\n .build(),\n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsWrite()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog role\n foo:\n type: datadog:Role\n properties:\n name: foo\n permissions:\n - id: ${bar.permissions.monitorsDowntime}\n - id: ${bar.permissions.monitorsWrite}\nvariables:\n # Source the permissions\n bar:\n fn::invoke:\n Function: datadog:getPermissions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRoles can be imported using their ID, e.g.\n\n```sh\n$ pulumi import datadog:index/role:Role example_role 000000-0000-0000-0000-000000000000\n```\n\n", + "description": "Provides a Datadog role resource. This can be used to create and manage Datadog roles.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Source the permissions\nconst bar = datadog.getPermissions({});\n// Create a new Datadog role\nconst foo = new datadog.Role(\"foo\", {\n name: \"foo\",\n permissions: [\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsDowntime),\n },\n {\n id: bar.then(bar =\u003e bar.permissions?.monitorsWrite),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source the permissions\nbar = datadog.get_permissions()\n# Create a new Datadog role\nfoo = datadog.Role(\"foo\",\n name=\"foo\",\n permissions=[\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsDowntime\"],\n ),\n datadog.RolePermissionArgs(\n id=bar.permissions[\"monitorsWrite\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source the permissions\n var bar = Datadog.GetPermissions.Invoke();\n\n // Create a new Datadog role\n var foo = new Datadog.Role(\"foo\", new()\n {\n Name = \"foo\",\n Permissions = new[]\n {\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsDowntime),\n },\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Apply(getPermissionsResult =\u003e getPermissionsResult.Permissions?.MonitorsWrite),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source the permissions\n\t\tbar, err := datadog.GetPermissions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog role\n\t\t_, err = datadog.NewRole(ctx, \"foo\", \u0026datadog.RoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tPermissions: datadog.RolePermissionArray{\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: pulumi.String(bar.Permissions.MonitorsDowntime),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: pulumi.String(bar.Permissions.MonitorsWrite),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetPermissionsArgs;\nimport com.pulumi.datadog.Role;\nimport com.pulumi.datadog.RoleArgs;\nimport com.pulumi.datadog.inputs.RolePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source the permissions\n final var bar = DatadogFunctions.getPermissions();\n\n // Create a new Datadog role\n var foo = new Role(\"foo\", RoleArgs.builder()\n .name(\"foo\")\n .permissions( \n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsDowntime()))\n .build(),\n RolePermissionArgs.builder()\n .id(bar.applyValue(getPermissionsResult -\u003e getPermissionsResult.permissions().monitorsWrite()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog role\n foo:\n type: datadog:Role\n properties:\n name: foo\n permissions:\n - id: ${bar.permissions.monitorsDowntime}\n - id: ${bar.permissions.monitorsWrite}\nvariables:\n # Source the permissions\n bar:\n fn::invoke:\n Function: datadog:getPermissions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRoles can be imported using their ID, e.g.\n\n```sh\n$ pulumi import datadog:index/role:Role example_role 000000-0000-0000-0000-000000000000\n```\n\n", "properties": { "name": { "type": "string", @@ -76803,7 +76803,7 @@ } }, "datadog:index/rumApplication:RumApplication": { - "description": "Provides a Datadog RUM application resource. This can be used to create and manage Datadog RUM applications.\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\nconst rumApplication = new datadog.RumApplication(\"rum_application\", {\n name: \"my-application\",\n type: \"browser\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nrum_application = datadog.RumApplication(\"rum_application\",\n name=\"my-application\",\n type=\"browser\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rumApplication = new Datadog.RumApplication(\"rum_application\", new()\n {\n Name = \"my-application\",\n Type = \"browser\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewRumApplication(ctx, \"rum_application\", \u0026datadog.RumApplicationArgs{\n\t\t\tName: pulumi.String(\"my-application\"),\n\t\t\tType: pulumi.String(\"browser\"),\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.RumApplication;\nimport com.pulumi.datadog.RumApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var rumApplication = new RumApplication(\"rumApplication\", RumApplicationArgs.builder() \n .name(\"my-application\")\n .type(\"browser\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rumApplication:\n type: datadog:RumApplication\n name: rum_application\n properties:\n name: my-application\n type: browser\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/rumApplication:RumApplication rum_application a1b2c3d4-a1b2-a1b2-a1b2-a1b2c3d4e5f6\n```\n\n", + "description": "Provides a Datadog RUM application resource. This can be used to create and manage Datadog RUM applications.\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\nconst rumApplication = new datadog.RumApplication(\"rum_application\", {\n name: \"my-application\",\n type: \"browser\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nrum_application = datadog.RumApplication(\"rum_application\",\n name=\"my-application\",\n type=\"browser\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rumApplication = new Datadog.RumApplication(\"rum_application\", new()\n {\n Name = \"my-application\",\n Type = \"browser\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewRumApplication(ctx, \"rum_application\", \u0026datadog.RumApplicationArgs{\n\t\t\tName: pulumi.String(\"my-application\"),\n\t\t\tType: pulumi.String(\"browser\"),\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.RumApplication;\nimport com.pulumi.datadog.RumApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var rumApplication = new RumApplication(\"rumApplication\", RumApplicationArgs.builder()\n .name(\"my-application\")\n .type(\"browser\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rumApplication:\n type: datadog:RumApplication\n name: rum_application\n properties:\n name: my-application\n type: browser\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/rumApplication:RumApplication rum_application a1b2c3d4-a1b2-a1b2-a1b2-a1b2c3d4e5f6\n```\n\n", "properties": { "clientToken": { "type": "string", @@ -76856,7 +76856,7 @@ } }, "datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule": { - "description": "Provides a Datadog Security Monitoring Rule API resource for default rules. It can only be imported, you can't create a default rule.\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\nconst adefaultrule = new datadog.SecurityMonitoringDefaultRule(\"adefaultrule\", {\n enabled: true,\n cases: [{\n status: \"high\",\n notifications: [\"@me\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nadefaultrule = datadog.SecurityMonitoringDefaultRule(\"adefaultrule\",\n enabled=True,\n cases=[datadog.SecurityMonitoringDefaultRuleCaseArgs(\n status=\"high\",\n notifications=[\"@me\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var adefaultrule = new Datadog.SecurityMonitoringDefaultRule(\"adefaultrule\", new()\n {\n Enabled = true,\n Cases = new[]\n {\n new Datadog.Inputs.SecurityMonitoringDefaultRuleCaseArgs\n {\n Status = \"high\",\n Notifications = new[]\n {\n \"@me\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringDefaultRule(ctx, \"adefaultrule\", \u0026datadog.SecurityMonitoringDefaultRuleArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tCases: datadog.SecurityMonitoringDefaultRuleCaseArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringDefaultRuleCaseArgs{\n\t\t\t\t\tStatus: pulumi.String(\"high\"),\n\t\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"@me\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SecurityMonitoringDefaultRule;\nimport com.pulumi.datadog.SecurityMonitoringDefaultRuleArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringDefaultRuleCaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var adefaultrule = new SecurityMonitoringDefaultRule(\"adefaultrule\", SecurityMonitoringDefaultRuleArgs.builder() \n .enabled(true)\n .cases(SecurityMonitoringDefaultRuleCaseArgs.builder()\n .status(\"high\")\n .notifications(\"@me\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n adefaultrule:\n type: datadog:SecurityMonitoringDefaultRule\n properties:\n enabled: true # Change the notifications for the high case\n cases:\n - status: high\n notifications:\n - '@me'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDefault rules need to be imported using their ID before applying.\n\nresource \"datadog_security_monitoring_default_rule\" \"adefaultrule\" {\n\n}\n\n```sh\n$ pulumi import datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule adefaultrule m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog Security Monitoring Rule API resource for default rules. It can only be imported, you can't create a default rule.\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\nconst adefaultrule = new datadog.SecurityMonitoringDefaultRule(\"adefaultrule\", {\n enabled: true,\n cases: [{\n status: \"high\",\n notifications: [\"@me\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nadefaultrule = datadog.SecurityMonitoringDefaultRule(\"adefaultrule\",\n enabled=True,\n cases=[datadog.SecurityMonitoringDefaultRuleCaseArgs(\n status=\"high\",\n notifications=[\"@me\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var adefaultrule = new Datadog.SecurityMonitoringDefaultRule(\"adefaultrule\", new()\n {\n Enabled = true,\n Cases = new[]\n {\n new Datadog.Inputs.SecurityMonitoringDefaultRuleCaseArgs\n {\n Status = \"high\",\n Notifications = new[]\n {\n \"@me\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringDefaultRule(ctx, \"adefaultrule\", \u0026datadog.SecurityMonitoringDefaultRuleArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tCases: datadog.SecurityMonitoringDefaultRuleCaseArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringDefaultRuleCaseArgs{\n\t\t\t\t\tStatus: pulumi.String(\"high\"),\n\t\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"@me\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SecurityMonitoringDefaultRule;\nimport com.pulumi.datadog.SecurityMonitoringDefaultRuleArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringDefaultRuleCaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var adefaultrule = new SecurityMonitoringDefaultRule(\"adefaultrule\", SecurityMonitoringDefaultRuleArgs.builder()\n .enabled(true)\n .cases(SecurityMonitoringDefaultRuleCaseArgs.builder()\n .status(\"high\")\n .notifications(\"@me\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n adefaultrule:\n type: datadog:SecurityMonitoringDefaultRule\n properties:\n enabled: true # Change the notifications for the high case\n cases:\n - status: high\n notifications:\n - '@me'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDefault rules need to be imported using their ID before applying.\n\nresource \"datadog_security_monitoring_default_rule\" \"adefaultrule\" {\n\n}\n\n```sh\n$ pulumi import datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule adefaultrule m0o-hto-lkb\n```\n\n", "properties": { "cases": { "type": "array", @@ -76946,7 +76946,7 @@ } }, "datadog:index/securityMonitoringFilter:SecurityMonitoringFilter": { - "description": "Provides a Datadog Security Monitoring Rule API resource for security filters.\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\nconst myFilter = new datadog.SecurityMonitoringFilter(\"my_filter\", {\n name: \"My filter\",\n query: \"The filter is filtering.\",\n isEnabled: true,\n exclusionFilters: [\n {\n name: \"first\",\n query: \"exclude some logs\",\n },\n {\n name: \"second\",\n query: \"exclude some other logs\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_filter = datadog.SecurityMonitoringFilter(\"my_filter\",\n name=\"My filter\",\n query=\"The filter is filtering.\",\n is_enabled=True,\n exclusion_filters=[\n datadog.SecurityMonitoringFilterExclusionFilterArgs(\n name=\"first\",\n query=\"exclude some logs\",\n ),\n datadog.SecurityMonitoringFilterExclusionFilterArgs(\n name=\"second\",\n query=\"exclude some other logs\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myFilter = new Datadog.SecurityMonitoringFilter(\"my_filter\", new()\n {\n Name = \"My filter\",\n Query = \"The filter is filtering.\",\n IsEnabled = true,\n ExclusionFilters = new[]\n {\n new Datadog.Inputs.SecurityMonitoringFilterExclusionFilterArgs\n {\n Name = \"first\",\n Query = \"exclude some logs\",\n },\n new Datadog.Inputs.SecurityMonitoringFilterExclusionFilterArgs\n {\n Name = \"second\",\n Query = \"exclude some other logs\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringFilter(ctx, \"my_filter\", \u0026datadog.SecurityMonitoringFilterArgs{\n\t\t\tName: pulumi.String(\"My filter\"),\n\t\t\tQuery: pulumi.String(\"The filter is filtering.\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tExclusionFilters: datadog.SecurityMonitoringFilterExclusionFilterArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringFilterExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"first\"),\n\t\t\t\t\tQuery: pulumi.String(\"exclude some logs\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SecurityMonitoringFilterExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"second\"),\n\t\t\t\t\tQuery: pulumi.String(\"exclude some other logs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SecurityMonitoringFilter;\nimport com.pulumi.datadog.SecurityMonitoringFilterArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringFilterExclusionFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myFilter = new SecurityMonitoringFilter(\"myFilter\", SecurityMonitoringFilterArgs.builder() \n .name(\"My filter\")\n .query(\"The filter is filtering.\")\n .isEnabled(true)\n .exclusionFilters( \n SecurityMonitoringFilterExclusionFilterArgs.builder()\n .name(\"first\")\n .query(\"exclude some logs\")\n .build(),\n SecurityMonitoringFilterExclusionFilterArgs.builder()\n .name(\"second\")\n .query(\"exclude some other logs\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myFilter:\n type: datadog:SecurityMonitoringFilter\n name: my_filter\n properties:\n name: My filter\n query: The filter is filtering.\n isEnabled: true\n exclusionFilters:\n - name: first\n query: exclude some logs\n - name: second\n query: exclude some other logs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring filters can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/securityMonitoringFilter:SecurityMonitoringFilter my_filter m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog Security Monitoring Rule API resource for security filters.\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\nconst myFilter = new datadog.SecurityMonitoringFilter(\"my_filter\", {\n name: \"My filter\",\n query: \"The filter is filtering.\",\n isEnabled: true,\n exclusionFilters: [\n {\n name: \"first\",\n query: \"exclude some logs\",\n },\n {\n name: \"second\",\n query: \"exclude some other logs\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_filter = datadog.SecurityMonitoringFilter(\"my_filter\",\n name=\"My filter\",\n query=\"The filter is filtering.\",\n is_enabled=True,\n exclusion_filters=[\n datadog.SecurityMonitoringFilterExclusionFilterArgs(\n name=\"first\",\n query=\"exclude some logs\",\n ),\n datadog.SecurityMonitoringFilterExclusionFilterArgs(\n name=\"second\",\n query=\"exclude some other logs\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myFilter = new Datadog.SecurityMonitoringFilter(\"my_filter\", new()\n {\n Name = \"My filter\",\n Query = \"The filter is filtering.\",\n IsEnabled = true,\n ExclusionFilters = new[]\n {\n new Datadog.Inputs.SecurityMonitoringFilterExclusionFilterArgs\n {\n Name = \"first\",\n Query = \"exclude some logs\",\n },\n new Datadog.Inputs.SecurityMonitoringFilterExclusionFilterArgs\n {\n Name = \"second\",\n Query = \"exclude some other logs\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringFilter(ctx, \"my_filter\", \u0026datadog.SecurityMonitoringFilterArgs{\n\t\t\tName: pulumi.String(\"My filter\"),\n\t\t\tQuery: pulumi.String(\"The filter is filtering.\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tExclusionFilters: datadog.SecurityMonitoringFilterExclusionFilterArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringFilterExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"first\"),\n\t\t\t\t\tQuery: pulumi.String(\"exclude some logs\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SecurityMonitoringFilterExclusionFilterArgs{\n\t\t\t\t\tName: pulumi.String(\"second\"),\n\t\t\t\t\tQuery: pulumi.String(\"exclude some other logs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SecurityMonitoringFilter;\nimport com.pulumi.datadog.SecurityMonitoringFilterArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringFilterExclusionFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myFilter = new SecurityMonitoringFilter(\"myFilter\", SecurityMonitoringFilterArgs.builder()\n .name(\"My filter\")\n .query(\"The filter is filtering.\")\n .isEnabled(true)\n .exclusionFilters( \n SecurityMonitoringFilterExclusionFilterArgs.builder()\n .name(\"first\")\n .query(\"exclude some logs\")\n .build(),\n SecurityMonitoringFilterExclusionFilterArgs.builder()\n .name(\"second\")\n .query(\"exclude some other logs\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myFilter:\n type: datadog:SecurityMonitoringFilter\n name: my_filter\n properties:\n name: My filter\n query: The filter is filtering.\n isEnabled: true\n exclusionFilters:\n - name: first\n query: exclude some logs\n - name: second\n query: exclude some other logs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring filters can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/securityMonitoringFilter:SecurityMonitoringFilter my_filter m0o-hto-lkb\n```\n\n", "properties": { "exclusionFilters": { "type": "array", @@ -77047,7 +77047,7 @@ } }, "datadog:index/securityMonitoringRule:SecurityMonitoringRule": { - "description": "Provides a Datadog Security Monitoring Rule API resource. This can be used to create and manage Datadog security monitoring rules. To change settings for a default rule use `datadog_security_default_rule` instead.\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\nconst myrule = new datadog.SecurityMonitoringRule(\"myrule\", {\n name: \"My rule\",\n message: \"The rule has triggered.\",\n enabled: true,\n queries: [\n {\n name: \"errors\",\n query: \"status:error\",\n aggregation: \"count\",\n groupByFields: [\"host\"],\n },\n {\n name: \"warnings\",\n query: \"status:warning\",\n aggregation: \"count\",\n groupByFields: [\"host\"],\n },\n ],\n cases: [{\n status: \"high\",\n condition: \"errors \u003e 3 \u0026\u0026 warnings \u003e 10\",\n notifications: [\"@user\"],\n }],\n options: {\n evaluationWindow: 300,\n keepAlive: 600,\n maxSignalDuration: 900,\n },\n tags: [\"type:dos\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmyrule = datadog.SecurityMonitoringRule(\"myrule\",\n name=\"My rule\",\n message=\"The rule has triggered.\",\n enabled=True,\n queries=[\n datadog.SecurityMonitoringRuleQueryArgs(\n name=\"errors\",\n query=\"status:error\",\n aggregation=\"count\",\n group_by_fields=[\"host\"],\n ),\n datadog.SecurityMonitoringRuleQueryArgs(\n name=\"warnings\",\n query=\"status:warning\",\n aggregation=\"count\",\n group_by_fields=[\"host\"],\n ),\n ],\n cases=[datadog.SecurityMonitoringRuleCaseArgs(\n status=\"high\",\n condition=\"errors \u003e 3 \u0026\u0026 warnings \u003e 10\",\n notifications=[\"@user\"],\n )],\n options=datadog.SecurityMonitoringRuleOptionsArgs(\n evaluation_window=300,\n keep_alive=600,\n max_signal_duration=900,\n ),\n tags=[\"type:dos\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myrule = new Datadog.SecurityMonitoringRule(\"myrule\", new()\n {\n Name = \"My rule\",\n Message = \"The rule has triggered.\",\n Enabled = true,\n Queries = new[]\n {\n new Datadog.Inputs.SecurityMonitoringRuleQueryArgs\n {\n Name = \"errors\",\n Query = \"status:error\",\n Aggregation = \"count\",\n GroupByFields = new[]\n {\n \"host\",\n },\n },\n new Datadog.Inputs.SecurityMonitoringRuleQueryArgs\n {\n Name = \"warnings\",\n Query = \"status:warning\",\n Aggregation = \"count\",\n GroupByFields = new[]\n {\n \"host\",\n },\n },\n },\n Cases = new[]\n {\n new Datadog.Inputs.SecurityMonitoringRuleCaseArgs\n {\n Status = \"high\",\n Condition = \"errors \u003e 3 \u0026\u0026 warnings \u003e 10\",\n Notifications = new[]\n {\n \"@user\",\n },\n },\n },\n Options = new Datadog.Inputs.SecurityMonitoringRuleOptionsArgs\n {\n EvaluationWindow = 300,\n KeepAlive = 600,\n MaxSignalDuration = 900,\n },\n Tags = new[]\n {\n \"type:dos\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringRule(ctx, \"myrule\", \u0026datadog.SecurityMonitoringRuleArgs{\n\t\t\tName: pulumi.String(\"My rule\"),\n\t\t\tMessage: pulumi.String(\"The rule has triggered.\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tQueries: datadog.SecurityMonitoringRuleQueryArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringRuleQueryArgs{\n\t\t\t\t\tName: pulumi.String(\"errors\"),\n\t\t\t\t\tQuery: pulumi.String(\"status:error\"),\n\t\t\t\t\tAggregation: pulumi.String(\"count\"),\n\t\t\t\t\tGroupByFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"host\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SecurityMonitoringRuleQueryArgs{\n\t\t\t\t\tName: pulumi.String(\"warnings\"),\n\t\t\t\t\tQuery: pulumi.String(\"status:warning\"),\n\t\t\t\t\tAggregation: pulumi.String(\"count\"),\n\t\t\t\t\tGroupByFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"host\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCases: datadog.SecurityMonitoringRuleCaseArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringRuleCaseArgs{\n\t\t\t\t\tStatus: pulumi.String(\"high\"),\n\t\t\t\t\tCondition: pulumi.String(\"errors \u003e 3 \u0026\u0026 warnings \u003e 10\"),\n\t\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"@user\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptions: \u0026datadog.SecurityMonitoringRuleOptionsArgs{\n\t\t\t\tEvaluationWindow: pulumi.Int(300),\n\t\t\t\tKeepAlive: pulumi.Int(600),\n\t\t\t\tMaxSignalDuration: pulumi.Int(900),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"type:dos\"),\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.SecurityMonitoringRule;\nimport com.pulumi.datadog.SecurityMonitoringRuleArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringRuleQueryArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringRuleCaseArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringRuleOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myrule = new SecurityMonitoringRule(\"myrule\", SecurityMonitoringRuleArgs.builder() \n .name(\"My rule\")\n .message(\"The rule has triggered.\")\n .enabled(true)\n .queries( \n SecurityMonitoringRuleQueryArgs.builder()\n .name(\"errors\")\n .query(\"status:error\")\n .aggregation(\"count\")\n .groupByFields(\"host\")\n .build(),\n SecurityMonitoringRuleQueryArgs.builder()\n .name(\"warnings\")\n .query(\"status:warning\")\n .aggregation(\"count\")\n .groupByFields(\"host\")\n .build())\n .cases(SecurityMonitoringRuleCaseArgs.builder()\n .status(\"high\")\n .condition(\"errors \u003e 3 \u0026\u0026 warnings \u003e 10\")\n .notifications(\"@user\")\n .build())\n .options(SecurityMonitoringRuleOptionsArgs.builder()\n .evaluationWindow(300)\n .keepAlive(600)\n .maxSignalDuration(900)\n .build())\n .tags(\"type:dos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myrule:\n type: datadog:SecurityMonitoringRule\n properties:\n name: My rule\n message: The rule has triggered.\n enabled: true\n queries:\n - name: errors\n query: status:error\n aggregation: count\n groupByFields:\n - host\n - name: warnings\n query: status:warning\n aggregation: count\n groupByFields:\n - host\n cases:\n - status: high\n condition: errors \u003e 3 \u0026\u0026 warnings \u003e 10\n notifications:\n - '@user'\n options:\n evaluationWindow: 300\n keepAlive: 600\n maxSignalDuration: 900\n tags:\n - type:dos\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring rules can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/securityMonitoringRule:SecurityMonitoringRule my_rule m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog Security Monitoring Rule API resource. This can be used to create and manage Datadog security monitoring rules. To change settings for a default rule use `datadog_security_default_rule` instead.\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\nconst myrule = new datadog.SecurityMonitoringRule(\"myrule\", {\n name: \"My rule\",\n message: \"The rule has triggered.\",\n enabled: true,\n queries: [\n {\n name: \"errors\",\n query: \"status:error\",\n aggregation: \"count\",\n groupByFields: [\"host\"],\n },\n {\n name: \"warnings\",\n query: \"status:warning\",\n aggregation: \"count\",\n groupByFields: [\"host\"],\n },\n ],\n cases: [{\n status: \"high\",\n condition: \"errors \u003e 3 \u0026\u0026 warnings \u003e 10\",\n notifications: [\"@user\"],\n }],\n options: {\n evaluationWindow: 300,\n keepAlive: 600,\n maxSignalDuration: 900,\n },\n tags: [\"type:dos\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmyrule = datadog.SecurityMonitoringRule(\"myrule\",\n name=\"My rule\",\n message=\"The rule has triggered.\",\n enabled=True,\n queries=[\n datadog.SecurityMonitoringRuleQueryArgs(\n name=\"errors\",\n query=\"status:error\",\n aggregation=\"count\",\n group_by_fields=[\"host\"],\n ),\n datadog.SecurityMonitoringRuleQueryArgs(\n name=\"warnings\",\n query=\"status:warning\",\n aggregation=\"count\",\n group_by_fields=[\"host\"],\n ),\n ],\n cases=[datadog.SecurityMonitoringRuleCaseArgs(\n status=\"high\",\n condition=\"errors \u003e 3 \u0026\u0026 warnings \u003e 10\",\n notifications=[\"@user\"],\n )],\n options=datadog.SecurityMonitoringRuleOptionsArgs(\n evaluation_window=300,\n keep_alive=600,\n max_signal_duration=900,\n ),\n tags=[\"type:dos\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myrule = new Datadog.SecurityMonitoringRule(\"myrule\", new()\n {\n Name = \"My rule\",\n Message = \"The rule has triggered.\",\n Enabled = true,\n Queries = new[]\n {\n new Datadog.Inputs.SecurityMonitoringRuleQueryArgs\n {\n Name = \"errors\",\n Query = \"status:error\",\n Aggregation = \"count\",\n GroupByFields = new[]\n {\n \"host\",\n },\n },\n new Datadog.Inputs.SecurityMonitoringRuleQueryArgs\n {\n Name = \"warnings\",\n Query = \"status:warning\",\n Aggregation = \"count\",\n GroupByFields = new[]\n {\n \"host\",\n },\n },\n },\n Cases = new[]\n {\n new Datadog.Inputs.SecurityMonitoringRuleCaseArgs\n {\n Status = \"high\",\n Condition = \"errors \u003e 3 \u0026\u0026 warnings \u003e 10\",\n Notifications = new[]\n {\n \"@user\",\n },\n },\n },\n Options = new Datadog.Inputs.SecurityMonitoringRuleOptionsArgs\n {\n EvaluationWindow = 300,\n KeepAlive = 600,\n MaxSignalDuration = 900,\n },\n Tags = new[]\n {\n \"type:dos\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringRule(ctx, \"myrule\", \u0026datadog.SecurityMonitoringRuleArgs{\n\t\t\tName: pulumi.String(\"My rule\"),\n\t\t\tMessage: pulumi.String(\"The rule has triggered.\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tQueries: datadog.SecurityMonitoringRuleQueryArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringRuleQueryArgs{\n\t\t\t\t\tName: pulumi.String(\"errors\"),\n\t\t\t\t\tQuery: pulumi.String(\"status:error\"),\n\t\t\t\t\tAggregation: pulumi.String(\"count\"),\n\t\t\t\t\tGroupByFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"host\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SecurityMonitoringRuleQueryArgs{\n\t\t\t\t\tName: pulumi.String(\"warnings\"),\n\t\t\t\t\tQuery: pulumi.String(\"status:warning\"),\n\t\t\t\t\tAggregation: pulumi.String(\"count\"),\n\t\t\t\t\tGroupByFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"host\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCases: datadog.SecurityMonitoringRuleCaseArray{\n\t\t\t\t\u0026datadog.SecurityMonitoringRuleCaseArgs{\n\t\t\t\t\tStatus: pulumi.String(\"high\"),\n\t\t\t\t\tCondition: pulumi.String(\"errors \u003e 3 \u0026\u0026 warnings \u003e 10\"),\n\t\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"@user\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptions: \u0026datadog.SecurityMonitoringRuleOptionsArgs{\n\t\t\t\tEvaluationWindow: pulumi.Int(300),\n\t\t\t\tKeepAlive: pulumi.Int(600),\n\t\t\t\tMaxSignalDuration: pulumi.Int(900),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"type:dos\"),\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.SecurityMonitoringRule;\nimport com.pulumi.datadog.SecurityMonitoringRuleArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringRuleQueryArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringRuleCaseArgs;\nimport com.pulumi.datadog.inputs.SecurityMonitoringRuleOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myrule = new SecurityMonitoringRule(\"myrule\", SecurityMonitoringRuleArgs.builder()\n .name(\"My rule\")\n .message(\"The rule has triggered.\")\n .enabled(true)\n .queries( \n SecurityMonitoringRuleQueryArgs.builder()\n .name(\"errors\")\n .query(\"status:error\")\n .aggregation(\"count\")\n .groupByFields(\"host\")\n .build(),\n SecurityMonitoringRuleQueryArgs.builder()\n .name(\"warnings\")\n .query(\"status:warning\")\n .aggregation(\"count\")\n .groupByFields(\"host\")\n .build())\n .cases(SecurityMonitoringRuleCaseArgs.builder()\n .status(\"high\")\n .condition(\"errors \u003e 3 \u0026\u0026 warnings \u003e 10\")\n .notifications(\"@user\")\n .build())\n .options(SecurityMonitoringRuleOptionsArgs.builder()\n .evaluationWindow(300)\n .keepAlive(600)\n .maxSignalDuration(900)\n .build())\n .tags(\"type:dos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myrule:\n type: datadog:SecurityMonitoringRule\n properties:\n name: My rule\n message: The rule has triggered.\n enabled: true\n queries:\n - name: errors\n query: status:error\n aggregation: count\n groupByFields:\n - host\n - name: warnings\n query: status:warning\n aggregation: count\n groupByFields:\n - host\n cases:\n - status: high\n condition: errors \u003e 3 \u0026\u0026 warnings \u003e 10\n notifications:\n - '@user'\n options:\n evaluationWindow: 300\n keepAlive: 600\n maxSignalDuration: 900\n tags:\n - type:dos\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring rules can be imported using ID, e.g.\n\n```sh\n$ pulumi import datadog:index/securityMonitoringRule:SecurityMonitoringRule my_rule m0o-hto-lkb\n```\n\n", "properties": { "cases": { "type": "array", @@ -77266,7 +77266,7 @@ } }, "datadog:index/securityMonitoringSuppression:SecurityMonitoringSuppression": { - "description": "Provides a Datadog Security Monitoring Suppression API resource. It can be used to create and manage Datadog security monitoring suppression rules.\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\nconst mySuppression = new datadog.SecurityMonitoringSuppression(\"my_suppression\", {\n name: \"My suppression\",\n description: \"Suppression for low severity CloudTrail signals from test environments limited to 2024\",\n enabled: true,\n ruleQuery: \"severity:low source:cloudtrail\",\n suppressionQuery: \"env:test\",\n expirationDate: \"2024-12-31T12:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_suppression = datadog.SecurityMonitoringSuppression(\"my_suppression\",\n name=\"My suppression\",\n description=\"Suppression for low severity CloudTrail signals from test environments limited to 2024\",\n enabled=True,\n rule_query=\"severity:low source:cloudtrail\",\n suppression_query=\"env:test\",\n expiration_date=\"2024-12-31T12:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mySuppression = new Datadog.SecurityMonitoringSuppression(\"my_suppression\", new()\n {\n Name = \"My suppression\",\n Description = \"Suppression for low severity CloudTrail signals from test environments limited to 2024\",\n Enabled = true,\n RuleQuery = \"severity:low source:cloudtrail\",\n SuppressionQuery = \"env:test\",\n ExpirationDate = \"2024-12-31T12:00:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringSuppression(ctx, \"my_suppression\", \u0026datadog.SecurityMonitoringSuppressionArgs{\n\t\t\tName: pulumi.String(\"My suppression\"),\n\t\t\tDescription: pulumi.String(\"Suppression for low severity CloudTrail signals from test environments limited to 2024\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tRuleQuery: pulumi.String(\"severity:low source:cloudtrail\"),\n\t\t\tSuppressionQuery: pulumi.String(\"env:test\"),\n\t\t\tExpirationDate: pulumi.String(\"2024-12-31T12:00:00Z\"),\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.SecurityMonitoringSuppression;\nimport com.pulumi.datadog.SecurityMonitoringSuppressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mySuppression = new SecurityMonitoringSuppression(\"mySuppression\", SecurityMonitoringSuppressionArgs.builder() \n .name(\"My suppression\")\n .description(\"Suppression for low severity CloudTrail signals from test environments limited to 2024\")\n .enabled(true)\n .ruleQuery(\"severity:low source:cloudtrail\")\n .suppressionQuery(\"env:test\")\n .expirationDate(\"2024-12-31T12:00:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mySuppression:\n type: datadog:SecurityMonitoringSuppression\n name: my_suppression\n properties:\n name: My suppression\n description: Suppression for low severity CloudTrail signals from test environments limited to 2024\n enabled: true\n ruleQuery: severity:low source:cloudtrail\n suppressionQuery: env:test\n expirationDate: 2024-12-31T12:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring suppressions can be imported using ID, for example:\n\n```sh\n$ pulumi import datadog:index/securityMonitoringSuppression:SecurityMonitoringSuppression my_suppression m0o-hto-lkb\n```\n\n", + "description": "Provides a Datadog Security Monitoring Suppression API resource. It can be used to create and manage Datadog security monitoring suppression rules.\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\nconst mySuppression = new datadog.SecurityMonitoringSuppression(\"my_suppression\", {\n name: \"My suppression\",\n description: \"Suppression for low severity CloudTrail signals from test environments limited to 2024\",\n enabled: true,\n ruleQuery: \"severity:low source:cloudtrail\",\n suppressionQuery: \"env:test\",\n expirationDate: \"2024-12-31T12:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmy_suppression = datadog.SecurityMonitoringSuppression(\"my_suppression\",\n name=\"My suppression\",\n description=\"Suppression for low severity CloudTrail signals from test environments limited to 2024\",\n enabled=True,\n rule_query=\"severity:low source:cloudtrail\",\n suppression_query=\"env:test\",\n expiration_date=\"2024-12-31T12:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mySuppression = new Datadog.SecurityMonitoringSuppression(\"my_suppression\", new()\n {\n Name = \"My suppression\",\n Description = \"Suppression for low severity CloudTrail signals from test environments limited to 2024\",\n Enabled = true,\n RuleQuery = \"severity:low source:cloudtrail\",\n SuppressionQuery = \"env:test\",\n ExpirationDate = \"2024-12-31T12:00:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSecurityMonitoringSuppression(ctx, \"my_suppression\", \u0026datadog.SecurityMonitoringSuppressionArgs{\n\t\t\tName: pulumi.String(\"My suppression\"),\n\t\t\tDescription: pulumi.String(\"Suppression for low severity CloudTrail signals from test environments limited to 2024\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tRuleQuery: pulumi.String(\"severity:low source:cloudtrail\"),\n\t\t\tSuppressionQuery: pulumi.String(\"env:test\"),\n\t\t\tExpirationDate: pulumi.String(\"2024-12-31T12:00:00Z\"),\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.SecurityMonitoringSuppression;\nimport com.pulumi.datadog.SecurityMonitoringSuppressionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mySuppression = new SecurityMonitoringSuppression(\"mySuppression\", SecurityMonitoringSuppressionArgs.builder()\n .name(\"My suppression\")\n .description(\"Suppression for low severity CloudTrail signals from test environments limited to 2024\")\n .enabled(true)\n .ruleQuery(\"severity:low source:cloudtrail\")\n .suppressionQuery(\"env:test\")\n .expirationDate(\"2024-12-31T12:00:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mySuppression:\n type: datadog:SecurityMonitoringSuppression\n name: my_suppression\n properties:\n name: My suppression\n description: Suppression for low severity CloudTrail signals from test environments limited to 2024\n enabled: true\n ruleQuery: severity:low source:cloudtrail\n suppressionQuery: env:test\n expirationDate: 2024-12-31T12:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity monitoring suppressions can be imported using ID, for example:\n\n```sh\n$ pulumi import datadog:index/securityMonitoringSuppression:SecurityMonitoringSuppression my_suppression m0o-hto-lkb\n```\n\n", "properties": { "dataExclusionQuery": { "type": "string", @@ -77373,7 +77373,7 @@ } }, "datadog:index/sensitiveDataScannerGroup:SensitiveDataScannerGroup": { - "description": "Provides a Sensitive Data Scanner group resource.\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 new sensitive_data_scanner_group resource\nconst mygroup = new datadog.SensitiveDataScannerGroup(\"mygroup\", {\n name: \"My new scanning group\",\n description: \"A relevant description\",\n filter: {\n query: \"service:my-service\",\n },\n isEnabled: true,\n productLists: [\"apm\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new sensitive_data_scanner_group resource\nmygroup = datadog.SensitiveDataScannerGroup(\"mygroup\",\n name=\"My new scanning group\",\n description=\"A relevant description\",\n filter=datadog.SensitiveDataScannerGroupFilterArgs(\n query=\"service:my-service\",\n ),\n is_enabled=True,\n product_lists=[\"apm\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new sensitive_data_scanner_group resource\n var mygroup = new Datadog.SensitiveDataScannerGroup(\"mygroup\", new()\n {\n Name = \"My new scanning group\",\n Description = \"A relevant description\",\n Filter = new Datadog.Inputs.SensitiveDataScannerGroupFilterArgs\n {\n Query = \"service:my-service\",\n },\n IsEnabled = true,\n ProductLists = new[]\n {\n \"apm\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new sensitive_data_scanner_group resource\n\t\t_, err := datadog.NewSensitiveDataScannerGroup(ctx, \"mygroup\", \u0026datadog.SensitiveDataScannerGroupArgs{\n\t\t\tName: pulumi.String(\"My new scanning group\"),\n\t\t\tDescription: pulumi.String(\"A relevant description\"),\n\t\t\tFilter: \u0026datadog.SensitiveDataScannerGroupFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"service:my-service\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tProductLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"apm\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SensitiveDataScannerGroup;\nimport com.pulumi.datadog.SensitiveDataScannerGroupArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerGroupFilterArgs;\nimport 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 new sensitive_data_scanner_group resource\n var mygroup = new SensitiveDataScannerGroup(\"mygroup\", SensitiveDataScannerGroupArgs.builder() \n .name(\"My new scanning group\")\n .description(\"A relevant description\")\n .filter(SensitiveDataScannerGroupFilterArgs.builder()\n .query(\"service:my-service\")\n .build())\n .isEnabled(true)\n .productLists(\"apm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new sensitive_data_scanner_group resource\n mygroup:\n type: datadog:SensitiveDataScannerGroup\n properties:\n name: My new scanning group\n description: A relevant description\n filter:\n query: service:my-service\n isEnabled: true\n productLists:\n - apm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/sensitiveDataScannerGroup:SensitiveDataScannerGroup new_list \"\"\n```\n\n", + "description": "Provides a Sensitive Data Scanner group resource.\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 new sensitive_data_scanner_group resource\nconst mygroup = new datadog.SensitiveDataScannerGroup(\"mygroup\", {\n name: \"My new scanning group\",\n description: \"A relevant description\",\n filter: {\n query: \"service:my-service\",\n },\n isEnabled: true,\n productLists: [\"apm\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new sensitive_data_scanner_group resource\nmygroup = datadog.SensitiveDataScannerGroup(\"mygroup\",\n name=\"My new scanning group\",\n description=\"A relevant description\",\n filter=datadog.SensitiveDataScannerGroupFilterArgs(\n query=\"service:my-service\",\n ),\n is_enabled=True,\n product_lists=[\"apm\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new sensitive_data_scanner_group resource\n var mygroup = new Datadog.SensitiveDataScannerGroup(\"mygroup\", new()\n {\n Name = \"My new scanning group\",\n Description = \"A relevant description\",\n Filter = new Datadog.Inputs.SensitiveDataScannerGroupFilterArgs\n {\n Query = \"service:my-service\",\n },\n IsEnabled = true,\n ProductLists = new[]\n {\n \"apm\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new sensitive_data_scanner_group resource\n\t\t_, err := datadog.NewSensitiveDataScannerGroup(ctx, \"mygroup\", \u0026datadog.SensitiveDataScannerGroupArgs{\n\t\t\tName: pulumi.String(\"My new scanning group\"),\n\t\t\tDescription: pulumi.String(\"A relevant description\"),\n\t\t\tFilter: \u0026datadog.SensitiveDataScannerGroupFilterArgs{\n\t\t\t\tQuery: pulumi.String(\"service:my-service\"),\n\t\t\t},\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tProductLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"apm\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SensitiveDataScannerGroup;\nimport com.pulumi.datadog.SensitiveDataScannerGroupArgs;\nimport com.pulumi.datadog.inputs.SensitiveDataScannerGroupFilterArgs;\nimport 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 new sensitive_data_scanner_group resource\n var mygroup = new SensitiveDataScannerGroup(\"mygroup\", SensitiveDataScannerGroupArgs.builder()\n .name(\"My new scanning group\")\n .description(\"A relevant description\")\n .filter(SensitiveDataScannerGroupFilterArgs.builder()\n .query(\"service:my-service\")\n .build())\n .isEnabled(true)\n .productLists(\"apm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new sensitive_data_scanner_group resource\n mygroup:\n type: datadog:SensitiveDataScannerGroup\n properties:\n name: My new scanning group\n description: A relevant description\n filter:\n query: service:my-service\n isEnabled: true\n productLists:\n - apm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/sensitiveDataScannerGroup:SensitiveDataScannerGroup new_list \"\"\n```\n\n", "properties": { "description": { "type": "string", @@ -77467,7 +77467,7 @@ } }, "datadog:index/sensitiveDataScannerGroupOrder:SensitiveDataScannerGroupOrder": { - "description": "Provides a Datadog Sensitive Data Scanner Group Order API resource. This can be used to manage the order of Datadog Sensitive Data Scanner Groups.\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 new sensitive_data_scanner_group_order resource\nconst mygrouporder = new datadog.SensitiveDataScannerGroupOrder(\"mygrouporder\", {groupIds: [\n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new sensitive_data_scanner_group_order resource\nmygrouporder = datadog.SensitiveDataScannerGroupOrder(\"mygrouporder\", group_ids=[\n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\",\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 new sensitive_data_scanner_group_order resource\n var mygrouporder = new Datadog.SensitiveDataScannerGroupOrder(\"mygrouporder\", new()\n {\n GroupIds = new[]\n {\n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new sensitive_data_scanner_group_order resource\n\t\t_, err := datadog.NewSensitiveDataScannerGroupOrder(ctx, \"mygrouporder\", \u0026datadog.SensitiveDataScannerGroupOrderArgs{\n\t\t\tGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"group-id-1\"),\n\t\t\t\tpulumi.String(\"group-id-2\"),\n\t\t\t\tpulumi.String(\"group-id-3\"),\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.SensitiveDataScannerGroupOrder;\nimport com.pulumi.datadog.SensitiveDataScannerGroupOrderArgs;\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 new sensitive_data_scanner_group_order resource\n var mygrouporder = new SensitiveDataScannerGroupOrder(\"mygrouporder\", SensitiveDataScannerGroupOrderArgs.builder() \n .groupIds( \n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new sensitive_data_scanner_group_order resource\n mygrouporder:\n type: datadog:SensitiveDataScannerGroupOrder\n properties:\n groupIds:\n - group-id-1\n - group-id-2\n - group-id-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/sensitiveDataScannerGroupOrder:SensitiveDataScannerGroupOrder mygrouporder order\n```\n\n", + "description": "Provides a Datadog Sensitive Data Scanner Group Order API resource. This can be used to manage the order of Datadog Sensitive Data Scanner Groups.\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 new sensitive_data_scanner_group_order resource\nconst mygrouporder = new datadog.SensitiveDataScannerGroupOrder(\"mygrouporder\", {groupIds: [\n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new sensitive_data_scanner_group_order resource\nmygrouporder = datadog.SensitiveDataScannerGroupOrder(\"mygrouporder\", group_ids=[\n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\",\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 new sensitive_data_scanner_group_order resource\n var mygrouporder = new Datadog.SensitiveDataScannerGroupOrder(\"mygrouporder\", new()\n {\n GroupIds = new[]\n {\n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new sensitive_data_scanner_group_order resource\n\t\t_, err := datadog.NewSensitiveDataScannerGroupOrder(ctx, \"mygrouporder\", \u0026datadog.SensitiveDataScannerGroupOrderArgs{\n\t\t\tGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"group-id-1\"),\n\t\t\t\tpulumi.String(\"group-id-2\"),\n\t\t\t\tpulumi.String(\"group-id-3\"),\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.SensitiveDataScannerGroupOrder;\nimport com.pulumi.datadog.SensitiveDataScannerGroupOrderArgs;\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 new sensitive_data_scanner_group_order resource\n var mygrouporder = new SensitiveDataScannerGroupOrder(\"mygrouporder\", SensitiveDataScannerGroupOrderArgs.builder()\n .groupIds( \n \"group-id-1\",\n \"group-id-2\",\n \"group-id-3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new sensitive_data_scanner_group_order resource\n mygrouporder:\n type: datadog:SensitiveDataScannerGroupOrder\n properties:\n groupIds:\n - group-id-1\n - group-id-2\n - group-id-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/sensitiveDataScannerGroupOrder:SensitiveDataScannerGroupOrder mygrouporder order\n```\n\n", "properties": { "groupIds": { "type": "array", @@ -77691,7 +77691,7 @@ } }, "datadog:index/serviceAccount:ServiceAccount": { - "description": "Provides a Datadog service account resource. This can be used to create and manage Datadog service accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Source a role\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog service account\nconst bar = new datadog.ServiceAccount(\"bar\", {\n email: \"new@example.com\",\n name: \"Service Account Bar\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source a role\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog service account\nbar = datadog.ServiceAccount(\"bar\",\n email=\"new@example.com\",\n name=\"Service Account Bar\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source a role\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog service account\n var bar = new Datadog.ServiceAccount(\"bar\", new()\n {\n Email = \"new@example.com\",\n Name = \"Service Account Bar\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source a role\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog service account\n\t\t_, err = datadog.NewServiceAccount(ctx, \"bar\", \u0026datadog.ServiceAccountArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tName: pulumi.String(\"Service Account Bar\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.ServiceAccount;\nimport com.pulumi.datadog.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source a role\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n // Create a new Datadog service account\n var bar = new ServiceAccount(\"bar\", ServiceAccountArgs.builder() \n .email(\"new@example.com\")\n .name(\"Service Account Bar\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog service account\n bar:\n type: datadog:ServiceAccount\n properties:\n email: new@example.com\n name: Service Account Bar\n roles:\n - ${roRole.id}\nvariables:\n # Source a role\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/serviceAccount:ServiceAccount example_sa 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n", + "description": "Provides a Datadog service account resource. This can be used to create and manage Datadog service accounts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Source a role\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog service account\nconst bar = new datadog.ServiceAccount(\"bar\", {\n email: \"new@example.com\",\n name: \"Service Account Bar\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source a role\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog service account\nbar = datadog.ServiceAccount(\"bar\",\n email=\"new@example.com\",\n name=\"Service Account Bar\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source a role\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog service account\n var bar = new Datadog.ServiceAccount(\"bar\", new()\n {\n Email = \"new@example.com\",\n Name = \"Service Account Bar\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source a role\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog service account\n\t\t_, err = datadog.NewServiceAccount(ctx, \"bar\", \u0026datadog.ServiceAccountArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tName: pulumi.String(\"Service Account Bar\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.ServiceAccount;\nimport com.pulumi.datadog.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source a role\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n // Create a new Datadog service account\n var bar = new ServiceAccount(\"bar\", ServiceAccountArgs.builder()\n .email(\"new@example.com\")\n .name(\"Service Account Bar\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog service account\n bar:\n type: datadog:ServiceAccount\n properties:\n email: new@example.com\n name: Service Account Bar\n roles:\n - ${roRole.id}\nvariables:\n # Source a role\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/serviceAccount:ServiceAccount example_sa 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n", "properties": { "disabled": { "type": "boolean", @@ -77768,7 +77768,7 @@ } }, "datadog:index/serviceAccountApplicationKey:ServiceAccountApplicationKey": { - "description": "Provides a Datadog `service_account_application_key` resource. This can be used to create and manage Datadog service account application keys.\n\n## 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 new service_account_application_key resource\nconst foo = new datadog.ServiceAccountApplicationKey(\"foo\", {\n serviceAccountId: \"00000000-0000-1234-0000-000000000000\",\n name: \"Application key for managing dashboards\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new service_account_application_key resource\nfoo = datadog.ServiceAccountApplicationKey(\"foo\",\n service_account_id=\"00000000-0000-1234-0000-000000000000\",\n name=\"Application key for managing dashboards\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new service_account_application_key resource\n var foo = new Datadog.ServiceAccountApplicationKey(\"foo\", new()\n {\n ServiceAccountId = \"00000000-0000-1234-0000-000000000000\",\n Name = \"Application key for managing dashboards\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new service_account_application_key resource\n\t\t_, err := datadog.NewServiceAccountApplicationKey(ctx, \"foo\", \u0026datadog.ServiceAccountApplicationKeyArgs{\n\t\t\tServiceAccountId: pulumi.String(\"00000000-0000-1234-0000-000000000000\"),\n\t\t\tName: pulumi.String(\"Application key for managing dashboards\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceAccountApplicationKey;\nimport com.pulumi.datadog.ServiceAccountApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create new service_account_application_key resource\n var foo = new ServiceAccountApplicationKey(\"foo\", ServiceAccountApplicationKeyArgs.builder() \n .serviceAccountId(\"00000000-0000-1234-0000-000000000000\")\n .name(\"Application key for managing dashboards\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new service_account_application_key resource\n foo:\n type: datadog:ServiceAccountApplicationKey\n properties:\n serviceAccountId: 00000000-0000-1234-0000-000000000000\n name: Application key for managing dashboards\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting a service account's application key cannot import the value of the key.\n\n```sh\n$ pulumi import datadog:index/serviceAccountApplicationKey:ServiceAccountApplicationKey this \"\u003cservice_account_id\u003e:\u003capplication_key_id\u003e\"\n```\n\n", + "description": "Provides a Datadog `service_account_application_key` resource. This can be used to create and manage Datadog service account application keys.\n\n## 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 new service_account_application_key resource\nconst foo = new datadog.ServiceAccountApplicationKey(\"foo\", {\n serviceAccountId: \"00000000-0000-1234-0000-000000000000\",\n name: \"Application key for managing dashboards\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new service_account_application_key resource\nfoo = datadog.ServiceAccountApplicationKey(\"foo\",\n service_account_id=\"00000000-0000-1234-0000-000000000000\",\n name=\"Application key for managing dashboards\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new service_account_application_key resource\n var foo = new Datadog.ServiceAccountApplicationKey(\"foo\", new()\n {\n ServiceAccountId = \"00000000-0000-1234-0000-000000000000\",\n Name = \"Application key for managing dashboards\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new service_account_application_key resource\n\t\t_, err := datadog.NewServiceAccountApplicationKey(ctx, \"foo\", \u0026datadog.ServiceAccountApplicationKeyArgs{\n\t\t\tServiceAccountId: pulumi.String(\"00000000-0000-1234-0000-000000000000\"),\n\t\t\tName: pulumi.String(\"Application key for managing dashboards\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceAccountApplicationKey;\nimport com.pulumi.datadog.ServiceAccountApplicationKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create new service_account_application_key resource\n var foo = new ServiceAccountApplicationKey(\"foo\", ServiceAccountApplicationKeyArgs.builder()\n .serviceAccountId(\"00000000-0000-1234-0000-000000000000\")\n .name(\"Application key for managing dashboards\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new service_account_application_key resource\n foo:\n type: datadog:ServiceAccountApplicationKey\n properties:\n serviceAccountId: 00000000-0000-1234-0000-000000000000\n name: Application key for managing dashboards\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting a service account's application key cannot import the value of the key.\n\n```sh\n$ pulumi import datadog:index/serviceAccountApplicationKey:ServiceAccountApplicationKey this \"\u003cservice_account_id\u003e:\u003capplication_key_id\u003e\"\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -77842,7 +77842,7 @@ } }, "datadog:index/serviceDefinitionYaml:ServiceDefinitionYaml": { - "description": "Provides a Datadog service definition resource. This can be used to create and manage Datadog service definitions in the service catalog using the YAML/JSON definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Service Definition with v2.2 Schema Definition\nconst serviceDefinitionV22 = new datadog.ServiceDefinitionYaml(\"service_definition_v2_2\", {serviceDefinition: `schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`});\n// Service Definition with v2.1 Schema Definition\nconst serviceDefinitionV21 = new datadog.ServiceDefinitionYaml(\"service_definition_v2_1\", {serviceDefinition: `schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`});\n// Service Definition with v2 Schema Definition\nconst serviceDefinitionV2 = new datadog.ServiceDefinitionYaml(\"service_definition_v2\", {serviceDefinition: `schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n`});\n// Service Definition with backstage.io Schema\nconst serviceDefinitionBackstage = new datadog.ServiceDefinitionYaml(\"service_definition_backstage\", {serviceDefinition: `apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Service Definition with v2.2 Schema Definition\nservice_definition_v22 = datadog.ServiceDefinitionYaml(\"service_definition_v2_2\", service_definition=\"\"\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\"\"\")\n# Service Definition with v2.1 Schema Definition\nservice_definition_v21 = datadog.ServiceDefinitionYaml(\"service_definition_v2_1\", service_definition=\"\"\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\"\"\")\n# Service Definition with v2 Schema Definition\nservice_definition_v2 = datadog.ServiceDefinitionYaml(\"service_definition_v2\", service_definition=\"\"\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\"\"\")\n# Service Definition with backstage.io Schema\nservice_definition_backstage = datadog.ServiceDefinitionYaml(\"service_definition_backstage\", service_definition=\"\"\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Service Definition with v2.2 Schema Definition\n var serviceDefinitionV22 = new Datadog.ServiceDefinitionYaml(\"service_definition_v2_2\", new()\n {\n ServiceDefinition = @\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\",\n });\n\n // Service Definition with v2.1 Schema Definition\n var serviceDefinitionV21 = new Datadog.ServiceDefinitionYaml(\"service_definition_v2_1\", new()\n {\n ServiceDefinition = @\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\",\n });\n\n // Service Definition with v2 Schema Definition\n var serviceDefinitionV2 = new Datadog.ServiceDefinitionYaml(\"service_definition_v2\", new()\n {\n ServiceDefinition = @\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\",\n });\n\n // Service Definition with backstage.io Schema\n var serviceDefinitionBackstage = new Datadog.ServiceDefinitionYaml(\"service_definition_backstage\", new()\n {\n ServiceDefinition = @\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"\"taga:valuea\"\", \"\"tagb:valueb\"\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"\"value\"\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Service Definition with v2.2 Schema Definition\n\t\t_, err := datadog.NewServiceDefinitionYaml(ctx, \"service_definition_v2_2\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with v2.1 Schema Definition\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"service_definition_v2_1\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with v2 Schema Definition\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"service_definition_v2\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with backstage.io Schema\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"service_definition_backstage\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceDefinitionYaml;\nimport com.pulumi.datadog.ServiceDefinitionYamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Service Definition with v2.2 Schema Definition\n var serviceDefinitionV22 = new ServiceDefinitionYaml(\"serviceDefinitionV22\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n \"\"\")\n .build());\n\n // Service Definition with v2.1 Schema Definition\n var serviceDefinitionV21 = new ServiceDefinitionYaml(\"serviceDefinitionV21\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n \"\"\")\n .build());\n\n // Service Definition with v2 Schema Definition\n var serviceDefinitionV2 = new ServiceDefinitionYaml(\"serviceDefinitionV2\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\nschema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n \"\"\")\n .build());\n\n // Service Definition with backstage.io Schema\n var serviceDefinitionBackstage = new ServiceDefinitionYaml(\"serviceDefinitionBackstage\", ServiceDefinitionYamlArgs.builder() \n .serviceDefinition(\"\"\"\napiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Service Definition with v2.2 Schema Definition\n serviceDefinitionV22:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_v2_2\n properties:\n serviceDefinition: \"schema-version: v2.2\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlanguages: \\n - go\\n - python\\ntype: web \\nci-pipeline-fingerprints:\\n - fp1 \\n - fp2 \\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\"\n # Service Definition with v2.1 Schema Definition\n serviceDefinitionV21:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_v2_1\n properties:\n serviceDefinition: \"schema-version: v2.1\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\"\n # Service Definition with v2 Schema Definition\n serviceDefinitionV2:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_v2\n properties:\n serviceDefinition: |\n schema-version: v2\n dd-service: shopping-cart\n team: E Commerce\n contacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\n repos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\n docs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\n links:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n tags:\n - business-unit:retail\n - cost-center:engineering\n integrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\n extensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n # Service Definition with backstage.io Schema\n serviceDefinitionBackstage:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_backstage\n properties:\n serviceDefinition: |\n apiVersion: backstage.io/v1alpha1\n kind: Component\n metadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\n spec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/serviceDefinitionYaml:ServiceDefinitionYaml service_definition \"\u003cdd-service\u003e\"\n```\n\n", + "description": "Provides a Datadog service definition resource. This can be used to create and manage Datadog service definitions in the service catalog using the YAML/JSON definition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Service Definition with v2.2 Schema Definition\nconst serviceDefinitionV22 = new datadog.ServiceDefinitionYaml(\"service_definition_v2_2\", {serviceDefinition: `schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`});\n// Service Definition with v2.1 Schema Definition\nconst serviceDefinitionV21 = new datadog.ServiceDefinitionYaml(\"service_definition_v2_1\", {serviceDefinition: `schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`});\n// Service Definition with v2 Schema Definition\nconst serviceDefinitionV2 = new datadog.ServiceDefinitionYaml(\"service_definition_v2\", {serviceDefinition: `schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n`});\n// Service Definition with backstage.io Schema\nconst serviceDefinitionBackstage = new datadog.ServiceDefinitionYaml(\"service_definition_backstage\", {serviceDefinition: `apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n`});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Service Definition with v2.2 Schema Definition\nservice_definition_v22 = datadog.ServiceDefinitionYaml(\"service_definition_v2_2\", service_definition=\"\"\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\"\"\")\n# Service Definition with v2.1 Schema Definition\nservice_definition_v21 = datadog.ServiceDefinitionYaml(\"service_definition_v2_1\", service_definition=\"\"\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\"\"\")\n# Service Definition with v2 Schema Definition\nservice_definition_v2 = datadog.ServiceDefinitionYaml(\"service_definition_v2\", service_definition=\"\"\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\"\"\")\n# Service Definition with backstage.io Schema\nservice_definition_backstage = datadog.ServiceDefinitionYaml(\"service_definition_backstage\", service_definition=\"\"\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Service Definition with v2.2 Schema Definition\n var serviceDefinitionV22 = new Datadog.ServiceDefinitionYaml(\"service_definition_v2_2\", new()\n {\n ServiceDefinition = @\"schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\",\n });\n\n // Service Definition with v2.1 Schema Definition\n var serviceDefinitionV21 = new Datadog.ServiceDefinitionYaml(\"service_definition_v2_1\", new()\n {\n ServiceDefinition = @\"schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n\",\n });\n\n // Service Definition with v2 Schema Definition\n var serviceDefinitionV2 = new Datadog.ServiceDefinitionYaml(\"service_definition_v2\", new()\n {\n ServiceDefinition = @\"schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n\",\n });\n\n // Service Definition with backstage.io Schema\n var serviceDefinitionBackstage = new Datadog.ServiceDefinitionYaml(\"service_definition_backstage\", new()\n {\n ServiceDefinition = @\"apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"\"taga:valuea\"\", \"\"tagb:valueb\"\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"\"value\"\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Service Definition with v2.2 Schema Definition\n\t\t_, err := datadog.NewServiceDefinitionYaml(ctx, \"service_definition_v2_2\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with v2.1 Schema Definition\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"service_definition_v2_1\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with v2 Schema Definition\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"service_definition_v2\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`schema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Service Definition with backstage.io Schema\n\t\t_, err = datadog.NewServiceDefinitionYaml(ctx, \"service_definition_backstage\", \u0026datadog.ServiceDefinitionYamlArgs{\n\t\t\tServiceDefinition: pulumi.String(`apiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceDefinitionYaml;\nimport com.pulumi.datadog.ServiceDefinitionYamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Service Definition with v2.2 Schema Definition\n var serviceDefinitionV22 = new ServiceDefinitionYaml(\"serviceDefinitionV22\", ServiceDefinitionYamlArgs.builder()\n .serviceDefinition(\"\"\"\nschema-version: v2.2\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlanguages: \n - go\n - python\ntype: web \nci-pipeline-fingerprints:\n - fp1 \n - fp2 \nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n \"\"\")\n .build());\n\n // Service Definition with v2.1 Schema Definition\n var serviceDefinitionV21 = new ServiceDefinitionYaml(\"serviceDefinitionV21\", ServiceDefinitionYamlArgs.builder()\n .serviceDefinition(\"\"\"\nschema-version: v2.1\ndd-service: shopping-cart\nteam: e-commerce-team\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\ndescription: shopping cart service responsible for managing shopping carts\ntier: high\nlifecycle: production\napplication: e-commerce\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n - name: shopping-cart architecture\n type: doc\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n type: doc\n provider: wiki\n url: https://wiki/shopping-cart\n - name: shopping-cart source code\n type: repo\n provider: github\n url: http://github/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: \n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n mycompany.com/shopping-cart:\n customField: customValue\n \"\"\")\n .build());\n\n // Service Definition with v2 Schema Definition\n var serviceDefinitionV2 = new ServiceDefinitionYaml(\"serviceDefinitionV2\", ServiceDefinitionYamlArgs.builder()\n .serviceDefinition(\"\"\"\nschema-version: v2\ndd-service: shopping-cart\nteam: E Commerce\ncontacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\nrepos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\ndocs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\nlinks:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\ntags:\n - business-unit:retail\n - cost-center:engineering\nintegrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\nextensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n \"\"\")\n .build());\n\n // Service Definition with backstage.io Schema\n var serviceDefinitionBackstage = new ServiceDefinitionYaml(\"serviceDefinitionBackstage\", ServiceDefinitionYamlArgs.builder()\n .serviceDefinition(\"\"\"\napiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\nspec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Service Definition with v2.2 Schema Definition\n serviceDefinitionV22:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_v2_2\n properties:\n serviceDefinition: \"schema-version: v2.2\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlanguages: \\n - go\\n - python\\ntype: web \\nci-pipeline-fingerprints:\\n - fp1 \\n - fp2 \\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\"\n # Service Definition with v2.1 Schema Definition\n serviceDefinitionV21:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_v2_1\n properties:\n serviceDefinition: \"schema-version: v2.1\\ndd-service: shopping-cart\\nteam: e-commerce-team\\ncontacts:\\n - name: Support Email\\n type: email\\n contact: team@shopping.com\\n - name: Support Slack\\n type: slack\\n contact: https://www.slack.com/archives/shopping-cart\\ndescription: shopping cart service responsible for managing shopping carts\\ntier: high\\nlifecycle: production\\napplication: e-commerce\\nlinks:\\n - name: shopping-cart runbook\\n type: runbook\\n url: https://runbook/shopping-cart\\n - name: shopping-cart architecture\\n type: doc\\n provider: gdoc\\n url: https://google.drive/shopping-cart-architecture\\n - name: shopping-cart service Wiki\\n type: doc\\n provider: wiki\\n url: https://wiki/shopping-cart\\n - name: shopping-cart source code\\n type: repo\\n provider: github\\n url: http://github/shopping-cart\\ntags:\\n - business-unit:retail\\n - cost-center:engineering\\nintegrations:\\n pagerduty: \\n service-url: https://www.pagerduty.com/service-directory/Pshopping-cart\\nextensions:\\n mycompany.com/shopping-cart:\\n customField: customValue\\n\"\n # Service Definition with v2 Schema Definition\n serviceDefinitionV2:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_v2\n properties:\n serviceDefinition: |\n schema-version: v2\n dd-service: shopping-cart\n team: E Commerce\n contacts:\n - name: Support Email\n type: email\n contact: team@shopping.com\n - name: Support Slack\n type: slack\n contact: https://www.slack.com/archives/shopping-cart\n repos:\n - name: shopping-cart source code\n provider: github\n url: http://github/shopping-cart\n docs:\n - name: shopping-cart architecture\n provider: gdoc\n url: https://google.drive/shopping-cart-architecture\n - name: shopping-cart service Wiki\n provider: wiki\n url: https://wiki/shopping-cart\n links:\n - name: shopping-cart runbook\n type: runbook\n url: https://runbook/shopping-cart\n tags:\n - business-unit:retail\n - cost-center:engineering\n integrations:\n pagerduty: https://www.pagerduty.com/service-directory/Pshopping-cart\n extensions:\n datadoghq.com/shopping-cart:\n customField: customValue\n # Service Definition with backstage.io Schema\n serviceDefinitionBackstage:\n type: datadog:ServiceDefinitionYaml\n name: service_definition_backstage\n properties:\n serviceDefinition: |\n apiVersion: backstage.io/v1alpha1\n kind: Component\n metadata:\n annotations:\n backstage.io/techdocs-ref: http://a/b/c\n some.annotation: value\n namespace: default\n name: shopping-cart\n title: Shopping Cart\n description: A shopping cart service\n tags: [\"taga:valuea\", \"tagb:valueb\"]\n links:\n - title: Wiki\n url: https://wiki/shopping-cart\n icon: help\n ignore-attribute:\n id: 1\n value: \"value\"\n spec:\n type: service\n lifecycle: production\n owner: e-commerce\n system: retail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/serviceDefinitionYaml:ServiceDefinitionYaml service_definition \"\u003cdd-service\u003e\"\n```\n\n", "properties": { "serviceDefinition": { "type": "string", @@ -77873,7 +77873,7 @@ } }, "datadog:index/serviceLevelObjective:ServiceLevelObjective": { - "description": "Provides a Datadog service level objective resource. This can be used to create and manage Datadog service level objectives.\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// Metric-Based SLO\n// Create a new Datadog service level objective\nconst foo = new datadog.ServiceLevelObjective(\"foo\", {\n name: \"Example Metric SLO\",\n type: \"metric\",\n description: \"My custom metric SLO\",\n query: {\n numerator: \"sum:my.custom.count.metric{type:good_events}.as_count()\",\n denominator: \"sum:my.custom.count.metric{*}.as_count()\",\n },\n thresholds: [\n {\n timeframe: \"7d\",\n target: 99.9,\n warning: 99.99,\n },\n {\n timeframe: \"30d\",\n target: 99.9,\n warning: 99.99,\n },\n ],\n timeframe: \"30d\",\n targetThreshold: 99.9,\n warningThreshold: 99.99,\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n});\n// Monitor-Based SLO\n// Create a new Datadog service level objective\nconst bar = new datadog.ServiceLevelObjective(\"bar\", {\n name: \"Example Monitor SLO\",\n type: \"monitor\",\n description: \"My custom monitor SLO\",\n monitorIds: [\n 1,\n 2,\n 3,\n ],\n thresholds: [\n {\n timeframe: \"7d\",\n target: 99.9,\n warning: 99.99,\n },\n {\n timeframe: \"30d\",\n target: 99.9,\n warning: 99.99,\n },\n ],\n timeframe: \"30d\",\n targetThreshold: 99.9,\n warningThreshold: 99.99,\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n});\nconst timeSliceSlo = new datadog.ServiceLevelObjective(\"time_slice_slo\", {\n name: \"Example Time Slice SLO\",\n type: \"time_slice\",\n description: \"My custom time slice SLO\",\n sliSpecification: {\n timeSlice: {\n query: {\n formula: {\n formulaExpression: \"query1\",\n },\n queries: [{\n metricQuery: {\n name: \"query1\",\n query: \"avg:my.custom.count.metric{*}.as_count()\",\n },\n }],\n },\n comparator: \"\u003e\",\n threshold: 0.9,\n },\n },\n thresholds: [{\n timeframe: \"7d\",\n target: 99.9,\n warning: 99.99,\n }],\n timeframe: \"7d\",\n targetThreshold: 99.9,\n warningThreshold: 99.99,\n tags: [\n \"service:myservice\",\n \"team:myteam\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Metric-Based SLO\n# Create a new Datadog service level objective\nfoo = datadog.ServiceLevelObjective(\"foo\",\n name=\"Example Metric SLO\",\n type=\"metric\",\n description=\"My custom metric SLO\",\n query=datadog.ServiceLevelObjectiveQueryArgs(\n numerator=\"sum:my.custom.count.metric{type:good_events}.as_count()\",\n denominator=\"sum:my.custom.count.metric{*}.as_count()\",\n ),\n thresholds=[\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.9,\n warning=99.99,\n ),\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"30d\",\n target=99.9,\n warning=99.99,\n ),\n ],\n timeframe=\"30d\",\n target_threshold=99.9,\n warning_threshold=99.99,\n tags=[\n \"foo:bar\",\n \"baz\",\n ])\n# Monitor-Based SLO\n# Create a new Datadog service level objective\nbar = datadog.ServiceLevelObjective(\"bar\",\n name=\"Example Monitor SLO\",\n type=\"monitor\",\n description=\"My custom monitor SLO\",\n monitor_ids=[\n 1,\n 2,\n 3,\n ],\n thresholds=[\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.9,\n warning=99.99,\n ),\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"30d\",\n target=99.9,\n warning=99.99,\n ),\n ],\n timeframe=\"30d\",\n target_threshold=99.9,\n warning_threshold=99.99,\n tags=[\n \"foo:bar\",\n \"baz\",\n ])\ntime_slice_slo = datadog.ServiceLevelObjective(\"time_slice_slo\",\n name=\"Example Time Slice SLO\",\n type=\"time_slice\",\n description=\"My custom time slice SLO\",\n sli_specification=datadog.ServiceLevelObjectiveSliSpecificationArgs(\n time_slice=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceArgs(\n query=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs(\n formula=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs(\n formula_expression=\"query1\",\n ),\n queries=[datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs(\n metric_query=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs(\n name=\"query1\",\n query=\"avg:my.custom.count.metric{*}.as_count()\",\n ),\n )],\n ),\n comparator=\"\u003e\",\n threshold=0.9,\n ),\n ),\n thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.9,\n warning=99.99,\n )],\n timeframe=\"7d\",\n target_threshold=99.9,\n warning_threshold=99.99,\n tags=[\n \"service:myservice\",\n \"team:myteam\",\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 // Metric-Based SLO\n // Create a new Datadog service level objective\n var foo = new Datadog.ServiceLevelObjective(\"foo\", new()\n {\n Name = \"Example Metric SLO\",\n Type = \"metric\",\n Description = \"My custom metric SLO\",\n Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs\n {\n Numerator = \"sum:my.custom.count.metric{type:good_events}.as_count()\",\n Denominator = \"sum:my.custom.count.metric{*}.as_count()\",\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.9,\n Warning = 99.99,\n },\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"30d\",\n Target = 99.9,\n Warning = 99.99,\n },\n },\n Timeframe = \"30d\",\n TargetThreshold = 99.9,\n WarningThreshold = 99.99,\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n });\n\n // Monitor-Based SLO\n // Create a new Datadog service level objective\n var bar = new Datadog.ServiceLevelObjective(\"bar\", new()\n {\n Name = \"Example Monitor SLO\",\n Type = \"monitor\",\n Description = \"My custom monitor SLO\",\n MonitorIds = new[]\n {\n 1,\n 2,\n 3,\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.9,\n Warning = 99.99,\n },\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"30d\",\n Target = 99.9,\n Warning = 99.99,\n },\n },\n Timeframe = \"30d\",\n TargetThreshold = 99.9,\n WarningThreshold = 99.99,\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n });\n\n var timeSliceSlo = new Datadog.ServiceLevelObjective(\"time_slice_slo\", new()\n {\n Name = \"Example Time Slice SLO\",\n Type = \"time_slice\",\n Description = \"My custom time slice SLO\",\n SliSpecification = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationArgs\n {\n TimeSlice = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceArgs\n {\n Query = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs\n {\n Formula = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs\n {\n FormulaExpression = \"query1\",\n },\n Queries = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs\n {\n MetricQuery = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs\n {\n Name = \"query1\",\n Query = \"avg:my.custom.count.metric{*}.as_count()\",\n },\n },\n },\n },\n Comparator = \"\u003e\",\n Threshold = 0.9,\n },\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.9,\n Warning = 99.99,\n },\n },\n Timeframe = \"7d\",\n TargetThreshold = 99.9,\n WarningThreshold = 99.99,\n Tags = new[]\n {\n \"service:myservice\",\n \"team:myteam\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Metric-Based SLO\n\t\t// Create a new Datadog service level objective\n\t\t_, err := datadog.NewServiceLevelObjective(ctx, \"foo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"Example Metric SLO\"),\n\t\t\tType: pulumi.String(\"metric\"),\n\t\t\tDescription: pulumi.String(\"My custom metric SLO\"),\n\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveQueryArgs{\n\t\t\t\tNumerator: pulumi.String(\"sum:my.custom.count.metric{type:good_events}.as_count()\"),\n\t\t\t\tDenominator: pulumi.String(\"sum:my.custom.count.metric{*}.as_count()\"),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\tTargetThreshold: pulumi.Float64(99.9),\n\t\t\tWarningThreshold: pulumi.Float64(99.99),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Monitor-Based SLO\n\t\t// Create a new Datadog service level objective\n\t\t_, err = datadog.NewServiceLevelObjective(ctx, \"bar\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"Example Monitor SLO\"),\n\t\t\tType: pulumi.String(\"monitor\"),\n\t\t\tDescription: pulumi.String(\"My custom monitor SLO\"),\n\t\t\tMonitorIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\tTargetThreshold: pulumi.Float64(99.9),\n\t\t\tWarningThreshold: pulumi.Float64(99.99),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewServiceLevelObjective(ctx, \"time_slice_slo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"Example Time Slice SLO\"),\n\t\t\tType: pulumi.String(\"time_slice\"),\n\t\t\tDescription: pulumi.String(\"My custom time slice SLO\"),\n\t\t\tSliSpecification: \u0026datadog.ServiceLevelObjectiveSliSpecificationArgs{\n\t\t\t\tTimeSlice: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceArgs{\n\t\t\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs{\n\t\t\t\t\t\tFormula: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs{\n\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"query1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQueries: datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArray{\n\t\t\t\t\t\t\t\u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs{\n\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"query1\"),\n\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:my.custom.count.metric{*}.as_count()\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tThreshold: pulumi.Float64(0.9),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\tTargetThreshold: pulumi.Float64(99.9),\n\t\t\tWarningThreshold: pulumi.Float64(99.99),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"service:myservice\"),\n\t\t\t\tpulumi.String(\"team:myteam\"),\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.ServiceLevelObjective;\nimport com.pulumi.datadog.ServiceLevelObjectiveArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationTimeSliceArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs;\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 // Metric-Based SLO\n // Create a new Datadog service level objective\n var foo = new ServiceLevelObjective(\"foo\", ServiceLevelObjectiveArgs.builder() \n .name(\"Example Metric SLO\")\n .type(\"metric\")\n .description(\"My custom metric SLO\")\n .query(ServiceLevelObjectiveQueryArgs.builder()\n .numerator(\"sum:my.custom.count.metric{type:good_events}.as_count()\")\n .denominator(\"sum:my.custom.count.metric{*}.as_count()\")\n .build())\n .thresholds( \n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.9)\n .warning(99.99)\n .build(),\n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"30d\")\n .target(99.9)\n .warning(99.99)\n .build())\n .timeframe(\"30d\")\n .targetThreshold(99.9)\n .warningThreshold(99.99)\n .tags( \n \"foo:bar\",\n \"baz\")\n .build());\n\n // Monitor-Based SLO\n // Create a new Datadog service level objective\n var bar = new ServiceLevelObjective(\"bar\", ServiceLevelObjectiveArgs.builder() \n .name(\"Example Monitor SLO\")\n .type(\"monitor\")\n .description(\"My custom monitor SLO\")\n .monitorIds( \n 1,\n 2,\n 3)\n .thresholds( \n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.9)\n .warning(99.99)\n .build(),\n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"30d\")\n .target(99.9)\n .warning(99.99)\n .build())\n .timeframe(\"30d\")\n .targetThreshold(99.9)\n .warningThreshold(99.99)\n .tags( \n \"foo:bar\",\n \"baz\")\n .build());\n\n var timeSliceSlo = new ServiceLevelObjective(\"timeSliceSlo\", ServiceLevelObjectiveArgs.builder() \n .name(\"Example Time Slice SLO\")\n .type(\"time_slice\")\n .description(\"My custom time slice SLO\")\n .sliSpecification(ServiceLevelObjectiveSliSpecificationArgs.builder()\n .timeSlice(ServiceLevelObjectiveSliSpecificationTimeSliceArgs.builder()\n .query(ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs.builder()\n .formula(ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs.builder()\n .formulaExpression(\"query1\")\n .build())\n .queries(ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs.builder()\n .metricQuery(ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs.builder()\n .name(\"query1\")\n .query(\"avg:my.custom.count.metric{*}.as_count()\")\n .build())\n .build())\n .build())\n .comparator(\"\u003e\")\n .threshold(0.9)\n .build())\n .build())\n .thresholds(ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.9)\n .warning(99.99)\n .build())\n .timeframe(\"7d\")\n .targetThreshold(99.9)\n .warningThreshold(99.99)\n .tags( \n \"service:myservice\",\n \"team:myteam\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Metric-Based SLO\n # Create a new Datadog service level objective\n foo:\n type: datadog:ServiceLevelObjective\n properties:\n name: Example Metric SLO\n type: metric\n description: My custom metric SLO\n query:\n numerator: sum:my.custom.count.metric{type:good_events}.as_count()\n denominator: sum:my.custom.count.metric{*}.as_count()\n thresholds:\n - timeframe: 7d\n target: 99.9\n warning: 99.99\n - timeframe: 30d\n target: 99.9\n warning: 99.99\n timeframe: 30d\n targetThreshold: 99.9\n warningThreshold: 99.99\n tags:\n - foo:bar\n - baz\n # Monitor-Based SLO\n # Create a new Datadog service level objective\n bar:\n type: datadog:ServiceLevelObjective\n properties:\n name: Example Monitor SLO\n type: monitor\n description: My custom monitor SLO\n monitorIds:\n - 1\n - 2\n - 3\n thresholds:\n - timeframe: 7d\n target: 99.9\n warning: 99.99\n - timeframe: 30d\n target: 99.9\n warning: 99.99\n timeframe: 30d\n targetThreshold: 99.9\n warningThreshold: 99.99\n tags:\n - foo:bar\n - baz\n timeSliceSlo:\n type: datadog:ServiceLevelObjective\n name: time_slice_slo\n properties:\n name: Example Time Slice SLO\n type: time_slice\n description: My custom time slice SLO\n sliSpecification:\n timeSlice:\n query:\n formula:\n formulaExpression: query1\n queries:\n - metricQuery:\n name: query1\n query: avg:my.custom.count.metric{*}.as_count()\n comparator: '\u003e'\n threshold: 0.9\n thresholds:\n - timeframe: 7d\n target: 99.9\n warning: 99.99\n timeframe: 7d\n targetThreshold: 99.9\n warningThreshold: 99.99\n tags:\n - service:myservice\n - team:myteam\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Level Objectives can be imported using their string ID, e.g.\n\n```sh\n$ pulumi import datadog:index/serviceLevelObjective:ServiceLevelObjective baz 12345678901234567890123456789012\n```\n\n", + "description": "Provides a Datadog service level objective resource. This can be used to create and manage Datadog service level objectives.\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// Metric-Based SLO\n// Create a new Datadog service level objective\nconst foo = new datadog.ServiceLevelObjective(\"foo\", {\n name: \"Example Metric SLO\",\n type: \"metric\",\n description: \"My custom metric SLO\",\n query: {\n numerator: \"sum:my.custom.count.metric{type:good_events}.as_count()\",\n denominator: \"sum:my.custom.count.metric{*}.as_count()\",\n },\n thresholds: [\n {\n timeframe: \"7d\",\n target: 99.9,\n warning: 99.99,\n },\n {\n timeframe: \"30d\",\n target: 99.9,\n warning: 99.99,\n },\n ],\n timeframe: \"30d\",\n targetThreshold: 99.9,\n warningThreshold: 99.99,\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n});\n// Monitor-Based SLO\n// Create a new Datadog service level objective\nconst bar = new datadog.ServiceLevelObjective(\"bar\", {\n name: \"Example Monitor SLO\",\n type: \"monitor\",\n description: \"My custom monitor SLO\",\n monitorIds: [\n 1,\n 2,\n 3,\n ],\n thresholds: [\n {\n timeframe: \"7d\",\n target: 99.9,\n warning: 99.99,\n },\n {\n timeframe: \"30d\",\n target: 99.9,\n warning: 99.99,\n },\n ],\n timeframe: \"30d\",\n targetThreshold: 99.9,\n warningThreshold: 99.99,\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n});\nconst timeSliceSlo = new datadog.ServiceLevelObjective(\"time_slice_slo\", {\n name: \"Example Time Slice SLO\",\n type: \"time_slice\",\n description: \"My custom time slice SLO\",\n sliSpecification: {\n timeSlice: {\n query: {\n formula: {\n formulaExpression: \"query1\",\n },\n queries: [{\n metricQuery: {\n name: \"query1\",\n query: \"avg:my.custom.count.metric{*}.as_count()\",\n },\n }],\n },\n comparator: \"\u003e\",\n threshold: 0.9,\n },\n },\n thresholds: [{\n timeframe: \"7d\",\n target: 99.9,\n warning: 99.99,\n }],\n timeframe: \"7d\",\n targetThreshold: 99.9,\n warningThreshold: 99.99,\n tags: [\n \"service:myservice\",\n \"team:myteam\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Metric-Based SLO\n# Create a new Datadog service level objective\nfoo = datadog.ServiceLevelObjective(\"foo\",\n name=\"Example Metric SLO\",\n type=\"metric\",\n description=\"My custom metric SLO\",\n query=datadog.ServiceLevelObjectiveQueryArgs(\n numerator=\"sum:my.custom.count.metric{type:good_events}.as_count()\",\n denominator=\"sum:my.custom.count.metric{*}.as_count()\",\n ),\n thresholds=[\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.9,\n warning=99.99,\n ),\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"30d\",\n target=99.9,\n warning=99.99,\n ),\n ],\n timeframe=\"30d\",\n target_threshold=99.9,\n warning_threshold=99.99,\n tags=[\n \"foo:bar\",\n \"baz\",\n ])\n# Monitor-Based SLO\n# Create a new Datadog service level objective\nbar = datadog.ServiceLevelObjective(\"bar\",\n name=\"Example Monitor SLO\",\n type=\"monitor\",\n description=\"My custom monitor SLO\",\n monitor_ids=[\n 1,\n 2,\n 3,\n ],\n thresholds=[\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.9,\n warning=99.99,\n ),\n datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"30d\",\n target=99.9,\n warning=99.99,\n ),\n ],\n timeframe=\"30d\",\n target_threshold=99.9,\n warning_threshold=99.99,\n tags=[\n \"foo:bar\",\n \"baz\",\n ])\ntime_slice_slo = datadog.ServiceLevelObjective(\"time_slice_slo\",\n name=\"Example Time Slice SLO\",\n type=\"time_slice\",\n description=\"My custom time slice SLO\",\n sli_specification=datadog.ServiceLevelObjectiveSliSpecificationArgs(\n time_slice=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceArgs(\n query=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs(\n formula=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs(\n formula_expression=\"query1\",\n ),\n queries=[datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs(\n metric_query=datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs(\n name=\"query1\",\n query=\"avg:my.custom.count.metric{*}.as_count()\",\n ),\n )],\n ),\n comparator=\"\u003e\",\n threshold=0.9,\n ),\n ),\n thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.9,\n warning=99.99,\n )],\n timeframe=\"7d\",\n target_threshold=99.9,\n warning_threshold=99.99,\n tags=[\n \"service:myservice\",\n \"team:myteam\",\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 // Metric-Based SLO\n // Create a new Datadog service level objective\n var foo = new Datadog.ServiceLevelObjective(\"foo\", new()\n {\n Name = \"Example Metric SLO\",\n Type = \"metric\",\n Description = \"My custom metric SLO\",\n Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs\n {\n Numerator = \"sum:my.custom.count.metric{type:good_events}.as_count()\",\n Denominator = \"sum:my.custom.count.metric{*}.as_count()\",\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.9,\n Warning = 99.99,\n },\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"30d\",\n Target = 99.9,\n Warning = 99.99,\n },\n },\n Timeframe = \"30d\",\n TargetThreshold = 99.9,\n WarningThreshold = 99.99,\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n });\n\n // Monitor-Based SLO\n // Create a new Datadog service level objective\n var bar = new Datadog.ServiceLevelObjective(\"bar\", new()\n {\n Name = \"Example Monitor SLO\",\n Type = \"monitor\",\n Description = \"My custom monitor SLO\",\n MonitorIds = new[]\n {\n 1,\n 2,\n 3,\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.9,\n Warning = 99.99,\n },\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"30d\",\n Target = 99.9,\n Warning = 99.99,\n },\n },\n Timeframe = \"30d\",\n TargetThreshold = 99.9,\n WarningThreshold = 99.99,\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n });\n\n var timeSliceSlo = new Datadog.ServiceLevelObjective(\"time_slice_slo\", new()\n {\n Name = \"Example Time Slice SLO\",\n Type = \"time_slice\",\n Description = \"My custom time slice SLO\",\n SliSpecification = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationArgs\n {\n TimeSlice = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceArgs\n {\n Query = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs\n {\n Formula = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs\n {\n FormulaExpression = \"query1\",\n },\n Queries = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs\n {\n MetricQuery = new Datadog.Inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs\n {\n Name = \"query1\",\n Query = \"avg:my.custom.count.metric{*}.as_count()\",\n },\n },\n },\n },\n Comparator = \"\u003e\",\n Threshold = 0.9,\n },\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.9,\n Warning = 99.99,\n },\n },\n Timeframe = \"7d\",\n TargetThreshold = 99.9,\n WarningThreshold = 99.99,\n Tags = new[]\n {\n \"service:myservice\",\n \"team:myteam\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Metric-Based SLO\n\t\t// Create a new Datadog service level objective\n\t\t_, err := datadog.NewServiceLevelObjective(ctx, \"foo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"Example Metric SLO\"),\n\t\t\tType: pulumi.String(\"metric\"),\n\t\t\tDescription: pulumi.String(\"My custom metric SLO\"),\n\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveQueryArgs{\n\t\t\t\tNumerator: pulumi.String(\"sum:my.custom.count.metric{type:good_events}.as_count()\"),\n\t\t\t\tDenominator: pulumi.String(\"sum:my.custom.count.metric{*}.as_count()\"),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\tTargetThreshold: pulumi.Float64(99.9),\n\t\t\tWarningThreshold: pulumi.Float64(99.99),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Monitor-Based SLO\n\t\t// Create a new Datadog service level objective\n\t\t_, err = datadog.NewServiceLevelObjective(ctx, \"bar\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"Example Monitor SLO\"),\n\t\t\tType: pulumi.String(\"monitor\"),\n\t\t\tDescription: pulumi.String(\"My custom monitor SLO\"),\n\t\t\tMonitorIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeframe: pulumi.String(\"30d\"),\n\t\t\tTargetThreshold: pulumi.Float64(99.9),\n\t\t\tWarningThreshold: pulumi.Float64(99.99),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewServiceLevelObjective(ctx, \"time_slice_slo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"Example Time Slice SLO\"),\n\t\t\tType: pulumi.String(\"time_slice\"),\n\t\t\tDescription: pulumi.String(\"My custom time slice SLO\"),\n\t\t\tSliSpecification: \u0026datadog.ServiceLevelObjectiveSliSpecificationArgs{\n\t\t\t\tTimeSlice: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceArgs{\n\t\t\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs{\n\t\t\t\t\t\tFormula: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs{\n\t\t\t\t\t\t\tFormulaExpression: pulumi.String(\"query1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQueries: datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArray{\n\t\t\t\t\t\t\t\u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs{\n\t\t\t\t\t\t\t\tMetricQuery: \u0026datadog.ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"query1\"),\n\t\t\t\t\t\t\t\t\tQuery: pulumi.String(\"avg:my.custom.count.metric{*}.as_count()\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tComparator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tThreshold: pulumi.Float64(0.9),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.9),\n\t\t\t\t\tWarning: pulumi.Float64(99.99),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\tTargetThreshold: pulumi.Float64(99.9),\n\t\t\tWarningThreshold: pulumi.Float64(99.99),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"service:myservice\"),\n\t\t\t\tpulumi.String(\"team:myteam\"),\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.ServiceLevelObjective;\nimport com.pulumi.datadog.ServiceLevelObjectiveArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationTimeSliceArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs;\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 // Metric-Based SLO\n // Create a new Datadog service level objective\n var foo = new ServiceLevelObjective(\"foo\", ServiceLevelObjectiveArgs.builder()\n .name(\"Example Metric SLO\")\n .type(\"metric\")\n .description(\"My custom metric SLO\")\n .query(ServiceLevelObjectiveQueryArgs.builder()\n .numerator(\"sum:my.custom.count.metric{type:good_events}.as_count()\")\n .denominator(\"sum:my.custom.count.metric{*}.as_count()\")\n .build())\n .thresholds( \n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.9)\n .warning(99.99)\n .build(),\n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"30d\")\n .target(99.9)\n .warning(99.99)\n .build())\n .timeframe(\"30d\")\n .targetThreshold(99.9)\n .warningThreshold(99.99)\n .tags( \n \"foo:bar\",\n \"baz\")\n .build());\n\n // Monitor-Based SLO\n // Create a new Datadog service level objective\n var bar = new ServiceLevelObjective(\"bar\", ServiceLevelObjectiveArgs.builder()\n .name(\"Example Monitor SLO\")\n .type(\"monitor\")\n .description(\"My custom monitor SLO\")\n .monitorIds( \n 1,\n 2,\n 3)\n .thresholds( \n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.9)\n .warning(99.99)\n .build(),\n ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"30d\")\n .target(99.9)\n .warning(99.99)\n .build())\n .timeframe(\"30d\")\n .targetThreshold(99.9)\n .warningThreshold(99.99)\n .tags( \n \"foo:bar\",\n \"baz\")\n .build());\n\n var timeSliceSlo = new ServiceLevelObjective(\"timeSliceSlo\", ServiceLevelObjectiveArgs.builder()\n .name(\"Example Time Slice SLO\")\n .type(\"time_slice\")\n .description(\"My custom time slice SLO\")\n .sliSpecification(ServiceLevelObjectiveSliSpecificationArgs.builder()\n .timeSlice(ServiceLevelObjectiveSliSpecificationTimeSliceArgs.builder()\n .query(ServiceLevelObjectiveSliSpecificationTimeSliceQueryArgs.builder()\n .formula(ServiceLevelObjectiveSliSpecificationTimeSliceQueryFormulaArgs.builder()\n .formulaExpression(\"query1\")\n .build())\n .queries(ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryArgs.builder()\n .metricQuery(ServiceLevelObjectiveSliSpecificationTimeSliceQueryQueryMetricQueryArgs.builder()\n .name(\"query1\")\n .query(\"avg:my.custom.count.metric{*}.as_count()\")\n .build())\n .build())\n .build())\n .comparator(\"\u003e\")\n .threshold(0.9)\n .build())\n .build())\n .thresholds(ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.9)\n .warning(99.99)\n .build())\n .timeframe(\"7d\")\n .targetThreshold(99.9)\n .warningThreshold(99.99)\n .tags( \n \"service:myservice\",\n \"team:myteam\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Metric-Based SLO\n # Create a new Datadog service level objective\n foo:\n type: datadog:ServiceLevelObjective\n properties:\n name: Example Metric SLO\n type: metric\n description: My custom metric SLO\n query:\n numerator: sum:my.custom.count.metric{type:good_events}.as_count()\n denominator: sum:my.custom.count.metric{*}.as_count()\n thresholds:\n - timeframe: 7d\n target: 99.9\n warning: 99.99\n - timeframe: 30d\n target: 99.9\n warning: 99.99\n timeframe: 30d\n targetThreshold: 99.9\n warningThreshold: 99.99\n tags:\n - foo:bar\n - baz\n # Monitor-Based SLO\n # Create a new Datadog service level objective\n bar:\n type: datadog:ServiceLevelObjective\n properties:\n name: Example Monitor SLO\n type: monitor\n description: My custom monitor SLO\n monitorIds:\n - 1\n - 2\n - 3\n thresholds:\n - timeframe: 7d\n target: 99.9\n warning: 99.99\n - timeframe: 30d\n target: 99.9\n warning: 99.99\n timeframe: 30d\n targetThreshold: 99.9\n warningThreshold: 99.99\n tags:\n - foo:bar\n - baz\n timeSliceSlo:\n type: datadog:ServiceLevelObjective\n name: time_slice_slo\n properties:\n name: Example Time Slice SLO\n type: time_slice\n description: My custom time slice SLO\n sliSpecification:\n timeSlice:\n query:\n formula:\n formulaExpression: query1\n queries:\n - metricQuery:\n name: query1\n query: avg:my.custom.count.metric{*}.as_count()\n comparator: '\u003e'\n threshold: 0.9\n thresholds:\n - timeframe: 7d\n target: 99.9\n warning: 99.99\n timeframe: 7d\n targetThreshold: 99.9\n warningThreshold: 99.99\n tags:\n - service:myservice\n - team:myteam\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Level Objectives can be imported using their string ID, e.g.\n\n```sh\n$ pulumi import datadog:index/serviceLevelObjective:ServiceLevelObjective baz 12345678901234567890123456789012\n```\n\n", "properties": { "description": { "type": "string", @@ -78105,7 +78105,7 @@ } }, "datadog:index/sloCorrection:SloCorrection": { - "description": "Resource for interacting with the slo_correction API.\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 SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nconst exampleSlo = new datadog.ServiceLevelObjective(\"example_slo\", {\n name: \"example slo\",\n type: \"metric\",\n description: \"some updated description about example_slo SLO\",\n query: {\n numerator: \"sum:my.metric{type:good}.as_count()\",\n denominator: \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n thresholds: [{\n timeframe: \"7d\",\n target: 99.5,\n warning: 99.8,\n }],\n tags: [\"foo:bar\"],\n});\nconst exampleSloCorrection = new datadog.SloCorrection(\"example_slo_correction\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example\",\n start: 1735707000,\n end: 1735718600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\nconst exampleSloCorrectionWithRecurrence = new datadog.SloCorrection(\"example_slo_correction_with_recurrence\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example with recurrence\",\n start: 1735707000,\n rrule: \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration: 3600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nexample_slo = datadog.ServiceLevelObjective(\"example_slo\",\n name=\"example slo\",\n type=\"metric\",\n description=\"some updated description about example_slo SLO\",\n query=datadog.ServiceLevelObjectiveQueryArgs(\n numerator=\"sum:my.metric{type:good}.as_count()\",\n denominator=\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n ),\n thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.5,\n warning=99.8,\n )],\n tags=[\"foo:bar\"])\nexample_slo_correction = datadog.SloCorrection(\"example_slo_correction\",\n category=\"Scheduled Maintenance\",\n description=\"correction example\",\n start=1735707000,\n end=1735718600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\nexample_slo_correction_with_recurrence = datadog.SloCorrection(\"example_slo_correction_with_recurrence\",\n category=\"Scheduled Maintenance\",\n description=\"correction example with recurrence\",\n start=1735707000,\n rrule=\"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration=3600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n var exampleSlo = new Datadog.ServiceLevelObjective(\"example_slo\", new()\n {\n Name = \"example slo\",\n Type = \"metric\",\n Description = \"some updated description about example_slo SLO\",\n Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs\n {\n Numerator = \"sum:my.metric{type:good}.as_count()\",\n Denominator = \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.5,\n Warning = 99.8,\n },\n },\n Tags = new[]\n {\n \"foo:bar\",\n },\n });\n\n var exampleSloCorrection = new Datadog.SloCorrection(\"example_slo_correction\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example\",\n Start = 1735707000,\n End = 1735718600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n var exampleSloCorrectionWithRecurrence = new Datadog.SloCorrection(\"example_slo_correction_with_recurrence\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example with recurrence\",\n Start = 1735707000,\n Rrule = \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n Duration = 3600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n\t\texampleSlo, err := datadog.NewServiceLevelObjective(ctx, \"example_slo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"example slo\"),\n\t\t\tType: pulumi.String(\"metric\"),\n\t\t\tDescription: pulumi.String(\"some updated description about example_slo SLO\"),\n\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveQueryArgs{\n\t\t\t\tNumerator: pulumi.String(\"sum:my.metric{type:good}.as_count()\"),\n\t\t\t\tDenominator: pulumi.String(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\"),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.5),\n\t\t\t\t\tWarning: pulumi.Float64(99.8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"example_slo_correction\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tEnd: pulumi.Int(1735718600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"example_slo_correction_with_recurrence\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example with recurrence\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tRrule: pulumi.String(\"FREQ=DAILY;INTERVAL=3;COUNT=3\"),\n\t\t\tDuration: pulumi.Int(3600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceLevelObjective;\nimport com.pulumi.datadog.ServiceLevelObjectiveArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;\nimport com.pulumi.datadog.SloCorrection;\nimport com.pulumi.datadog.SloCorrectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n var exampleSlo = new ServiceLevelObjective(\"exampleSlo\", ServiceLevelObjectiveArgs.builder() \n .name(\"example slo\")\n .type(\"metric\")\n .description(\"some updated description about example_slo SLO\")\n .query(ServiceLevelObjectiveQueryArgs.builder()\n .numerator(\"sum:my.metric{type:good}.as_count()\")\n .denominator(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\")\n .build())\n .thresholds(ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.5)\n .warning(99.8)\n .build())\n .tags(\"foo:bar\")\n .build());\n\n var exampleSloCorrection = new SloCorrection(\"exampleSloCorrection\", SloCorrectionArgs.builder() \n .category(\"Scheduled Maintenance\")\n .description(\"correction example\")\n .start(1735707000)\n .end(1735718600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n var exampleSloCorrectionWithRecurrence = new SloCorrection(\"exampleSloCorrectionWithRecurrence\", SloCorrectionArgs.builder() \n .category(\"Scheduled Maintenance\")\n .description(\"correction example with recurrence\")\n .start(1735707000)\n .rrule(\"FREQ=DAILY;INTERVAL=3;COUNT=3\")\n .duration(3600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n exampleSlo:\n type: datadog:ServiceLevelObjective\n name: example_slo\n properties:\n name: example slo\n type: metric\n description: some updated description about example_slo SLO\n query:\n numerator: sum:my.metric{type:good}.as_count()\n denominator: sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\n thresholds:\n - timeframe: 7d\n target: 99.5\n warning: 99.8\n tags:\n - foo:bar\n exampleSloCorrection:\n type: datadog:SloCorrection\n name: example_slo_correction\n properties:\n category: Scheduled Maintenance\n description: correction example\n start: 1.735707e+09\n end: 1.7357186e+09\n sloId: ${exampleSlo.id}\n timezone: UTC\n exampleSloCorrectionWithRecurrence:\n type: datadog:SloCorrection\n name: example_slo_correction_with_recurrence\n properties:\n category: Scheduled Maintenance\n description: correction example with recurrence\n start: 1.735707e+09\n rrule: FREQ=DAILY;INTERVAL=3;COUNT=3\n duration: 3600\n sloId: ${exampleSlo.id}\n timezone: UTC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/sloCorrection:SloCorrection testing_slo_correction 11111111-3fee-11eb-8a13-77cd9f15119e\n```\n\n", + "description": "Resource for interacting with the slo_correction API.\n\n## 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 SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nconst exampleSlo = new datadog.ServiceLevelObjective(\"example_slo\", {\n name: \"example slo\",\n type: \"metric\",\n description: \"some updated description about example_slo SLO\",\n query: {\n numerator: \"sum:my.metric{type:good}.as_count()\",\n denominator: \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n thresholds: [{\n timeframe: \"7d\",\n target: 99.5,\n warning: 99.8,\n }],\n tags: [\"foo:bar\"],\n});\nconst exampleSloCorrection = new datadog.SloCorrection(\"example_slo_correction\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example\",\n start: 1735707000,\n end: 1735718600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\nconst exampleSloCorrectionWithRecurrence = new datadog.SloCorrection(\"example_slo_correction_with_recurrence\", {\n category: \"Scheduled Maintenance\",\n description: \"correction example with recurrence\",\n start: 1735707000,\n rrule: \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration: 3600,\n sloId: exampleSlo.id,\n timezone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\nexample_slo = datadog.ServiceLevelObjective(\"example_slo\",\n name=\"example slo\",\n type=\"metric\",\n description=\"some updated description about example_slo SLO\",\n query=datadog.ServiceLevelObjectiveQueryArgs(\n numerator=\"sum:my.metric{type:good}.as_count()\",\n denominator=\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n ),\n thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(\n timeframe=\"7d\",\n target=99.5,\n warning=99.8,\n )],\n tags=[\"foo:bar\"])\nexample_slo_correction = datadog.SloCorrection(\"example_slo_correction\",\n category=\"Scheduled Maintenance\",\n description=\"correction example\",\n start=1735707000,\n end=1735718600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\nexample_slo_correction_with_recurrence = datadog.SloCorrection(\"example_slo_correction_with_recurrence\",\n category=\"Scheduled Maintenance\",\n description=\"correction example with recurrence\",\n start=1735707000,\n rrule=\"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n duration=3600,\n slo_id=example_slo.id,\n timezone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n var exampleSlo = new Datadog.ServiceLevelObjective(\"example_slo\", new()\n {\n Name = \"example slo\",\n Type = \"metric\",\n Description = \"some updated description about example_slo SLO\",\n Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs\n {\n Numerator = \"sum:my.metric{type:good}.as_count()\",\n Denominator = \"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\n },\n Thresholds = new[]\n {\n new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs\n {\n Timeframe = \"7d\",\n Target = 99.5,\n Warning = 99.8,\n },\n },\n Tags = new[]\n {\n \"foo:bar\",\n },\n });\n\n var exampleSloCorrection = new Datadog.SloCorrection(\"example_slo_correction\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example\",\n Start = 1735707000,\n End = 1735718600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n var exampleSloCorrectionWithRecurrence = new Datadog.SloCorrection(\"example_slo_correction_with_recurrence\", new()\n {\n Category = \"Scheduled Maintenance\",\n Description = \"correction example with recurrence\",\n Start = 1735707000,\n Rrule = \"FREQ=DAILY;INTERVAL=3;COUNT=3\",\n Duration = 3600,\n SloId = exampleSlo.Id,\n Timezone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n\t\texampleSlo, err := datadog.NewServiceLevelObjective(ctx, \"example_slo\", \u0026datadog.ServiceLevelObjectiveArgs{\n\t\t\tName: pulumi.String(\"example slo\"),\n\t\t\tType: pulumi.String(\"metric\"),\n\t\t\tDescription: pulumi.String(\"some updated description about example_slo SLO\"),\n\t\t\tQuery: \u0026datadog.ServiceLevelObjectiveQueryArgs{\n\t\t\t\tNumerator: pulumi.String(\"sum:my.metric{type:good}.as_count()\"),\n\t\t\t\tDenominator: pulumi.String(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\"),\n\t\t\t},\n\t\t\tThresholds: datadog.ServiceLevelObjectiveThresholdArray{\n\t\t\t\t\u0026datadog.ServiceLevelObjectiveThresholdArgs{\n\t\t\t\t\tTimeframe: pulumi.String(\"7d\"),\n\t\t\t\t\tTarget: pulumi.Float64(99.5),\n\t\t\t\t\tWarning: pulumi.Float64(99.8),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"example_slo_correction\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tEnd: pulumi.Int(1735718600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSloCorrection(ctx, \"example_slo_correction_with_recurrence\", \u0026datadog.SloCorrectionArgs{\n\t\t\tCategory: pulumi.String(\"Scheduled Maintenance\"),\n\t\t\tDescription: pulumi.String(\"correction example with recurrence\"),\n\t\t\tStart: pulumi.Int(1735707000),\n\t\t\tRrule: pulumi.String(\"FREQ=DAILY;INTERVAL=3;COUNT=3\"),\n\t\t\tDuration: pulumi.Int(3600),\n\t\t\tSloId: exampleSlo.ID(),\n\t\t\tTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.ServiceLevelObjective;\nimport com.pulumi.datadog.ServiceLevelObjectiveArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;\nimport com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;\nimport com.pulumi.datadog.SloCorrection;\nimport com.pulumi.datadog.SloCorrectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n var exampleSlo = new ServiceLevelObjective(\"exampleSlo\", ServiceLevelObjectiveArgs.builder()\n .name(\"example slo\")\n .type(\"metric\")\n .description(\"some updated description about example_slo SLO\")\n .query(ServiceLevelObjectiveQueryArgs.builder()\n .numerator(\"sum:my.metric{type:good}.as_count()\")\n .denominator(\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\")\n .build())\n .thresholds(ServiceLevelObjectiveThresholdArgs.builder()\n .timeframe(\"7d\")\n .target(99.5)\n .warning(99.8)\n .build())\n .tags(\"foo:bar\")\n .build());\n\n var exampleSloCorrection = new SloCorrection(\"exampleSloCorrection\", SloCorrectionArgs.builder()\n .category(\"Scheduled Maintenance\")\n .description(\"correction example\")\n .start(1735707000)\n .end(1735718600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n var exampleSloCorrectionWithRecurrence = new SloCorrection(\"exampleSloCorrectionWithRecurrence\", SloCorrectionArgs.builder()\n .category(\"Scheduled Maintenance\")\n .description(\"correction example with recurrence\")\n .start(1735707000)\n .rrule(\"FREQ=DAILY;INTERVAL=3;COUNT=3\")\n .duration(3600)\n .sloId(exampleSlo.id())\n .timezone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.\n exampleSlo:\n type: datadog:ServiceLevelObjective\n name: example_slo\n properties:\n name: example slo\n type: metric\n description: some updated description about example_slo SLO\n query:\n numerator: sum:my.metric{type:good}.as_count()\n denominator: sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\n thresholds:\n - timeframe: 7d\n target: 99.5\n warning: 99.8\n tags:\n - foo:bar\n exampleSloCorrection:\n type: datadog:SloCorrection\n name: example_slo_correction\n properties:\n category: Scheduled Maintenance\n description: correction example\n start: 1.735707e+09\n end: 1.7357186e+09\n sloId: ${exampleSlo.id}\n timezone: UTC\n exampleSloCorrectionWithRecurrence:\n type: datadog:SloCorrection\n name: example_slo_correction_with_recurrence\n properties:\n category: Scheduled Maintenance\n description: correction example with recurrence\n start: 1.735707e+09\n rrule: FREQ=DAILY;INTERVAL=3;COUNT=3\n duration: 3600\n sloId: ${exampleSlo.id}\n timezone: UTC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/sloCorrection:SloCorrection testing_slo_correction 11111111-3fee-11eb-8a13-77cd9f15119e\n```\n\n", "properties": { "category": { "type": "string", @@ -78224,7 +78224,7 @@ } }, "datadog:index/spansMetric:SpansMetric": { - "description": "Provides a Datadog SpansMetric resource. This can be used to create and manage Datadog spans_metric.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SpansMetric;\nimport com.pulumi.datadog.SpansMetricArgs;\nimport com.pulumi.datadog.inputs.SpansMetricGroupByArgs;\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 new spans_metric resource\n var testingSpansMetric = new SpansMetric(\"testingSpansMetric\", SpansMetricArgs.builder() \n .name(\"testing.span.metric\")\n .compute(SpansMetricComputeArgs.builder()\n .aggregationType(\"distribution\")\n .includePercentiles(false)\n .path(\"@duration\")\n .build())\n .filter(SpansMetricFilterArgs.builder()\n .query(\"@http.status_code:200 service:my-service\")\n .build())\n .groupBies(SpansMetricGroupByArgs.builder()\n .path(\"resource_name\")\n .tagName(\"resource_name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new spans_metric resource\n testingSpansMetric:\n type: datadog:SpansMetric\n name: testing_spans_metric\n properties:\n name: testing.span.metric\n compute:\n - aggregationType: distribution\n includePercentiles: false\n path: '@duration'\n filter:\n - query: '@http.status_code:200 service:my-service'\n groupBies:\n - path: resource_name\n tagName: resource_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/spansMetric:SpansMetric testing_spans_metric testing.span.metric\n```\n\n", + "description": "Provides a Datadog SpansMetric resource. This can be used to create and manage Datadog spans_metric.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SpansMetric;\nimport com.pulumi.datadog.SpansMetricArgs;\nimport com.pulumi.datadog.inputs.SpansMetricGroupByArgs;\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 new spans_metric resource\n var testingSpansMetric = new SpansMetric(\"testingSpansMetric\", SpansMetricArgs.builder()\n .name(\"testing.span.metric\")\n .compute(SpansMetricComputeArgs.builder()\n .aggregationType(\"distribution\")\n .includePercentiles(false)\n .path(\"@duration\")\n .build())\n .filter(SpansMetricFilterArgs.builder()\n .query(\"@http.status_code:200 service:my-service\")\n .build())\n .groupBies(SpansMetricGroupByArgs.builder()\n .path(\"resource_name\")\n .tagName(\"resource_name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new spans_metric resource\n testingSpansMetric:\n type: datadog:SpansMetric\n name: testing_spans_metric\n properties:\n name: testing.span.metric\n compute:\n - aggregationType: distribution\n includePercentiles: false\n path: '@duration'\n filter:\n - query: '@http.status_code:200 service:my-service'\n groupBies:\n - path: resource_name\n tagName: resource_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/spansMetric:SpansMetric testing_spans_metric testing.span.metric\n```\n\n", "properties": { "compute": { "$ref": "#/types/datadog:index/SpansMetricCompute:SpansMetricCompute" @@ -78291,7 +78291,7 @@ } }, "datadog:index/syntheticsConcurrencyCap:SyntheticsConcurrencyCap": { - "description": "Provides a Datadog Synthetics On Demand Concurrency Cap API resource. This can be used to manage the Concurrency Cap for Synthetic tests.\n\n## 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 Concurrency Cap Configuration)\nconst _this = new datadog.SyntheticsConcurrencyCap(\"this\", {onDemandConcurrencyCap: 1});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics Concurrency Cap Configuration)\nthis = datadog.SyntheticsConcurrencyCap(\"this\", on_demand_concurrency_cap=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics Concurrency Cap Configuration)\n var @this = new Datadog.SyntheticsConcurrencyCap(\"this\", new()\n {\n OnDemandConcurrencyCap = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Usage (Synthetics Concurrency Cap Configuration)\n\t\t_, err := datadog.NewSyntheticsConcurrencyCap(ctx, \"this\", \u0026datadog.SyntheticsConcurrencyCapArgs{\n\t\t\tOnDemandConcurrencyCap: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsConcurrencyCap;\nimport com.pulumi.datadog.SyntheticsConcurrencyCapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Usage (Synthetics Concurrency Cap Configuration)\n var this_ = new SyntheticsConcurrencyCap(\"this\", SyntheticsConcurrencyCapArgs.builder() \n .onDemandConcurrencyCap(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics Concurrency Cap Configuration)\n this:\n type: datadog:SyntheticsConcurrencyCap\n properties:\n onDemandConcurrencyCap: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Synthetics concurrency cap can be imported. \u003cname\u003e can be whatever you specify in your code. Datadog does not store the name on the server.\n\n```sh\n$ pulumi import datadog:index/syntheticsConcurrencyCap:SyntheticsConcurrencyCap this \u003cname\u003e\n```\n\n", + "description": "Provides a Datadog Synthetics On Demand Concurrency Cap API resource. This can be used to manage the Concurrency Cap for Synthetic tests.\n\n## 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 Concurrency Cap Configuration)\nconst _this = new datadog.SyntheticsConcurrencyCap(\"this\", {onDemandConcurrencyCap: 1});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics Concurrency Cap Configuration)\nthis = datadog.SyntheticsConcurrencyCap(\"this\", on_demand_concurrency_cap=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics Concurrency Cap Configuration)\n var @this = new Datadog.SyntheticsConcurrencyCap(\"this\", new()\n {\n OnDemandConcurrencyCap = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Usage (Synthetics Concurrency Cap Configuration)\n\t\t_, err := datadog.NewSyntheticsConcurrencyCap(ctx, \"this\", \u0026datadog.SyntheticsConcurrencyCapArgs{\n\t\t\tOnDemandConcurrencyCap: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsConcurrencyCap;\nimport com.pulumi.datadog.SyntheticsConcurrencyCapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Example Usage (Synthetics Concurrency Cap Configuration)\n var this_ = new SyntheticsConcurrencyCap(\"this\", SyntheticsConcurrencyCapArgs.builder()\n .onDemandConcurrencyCap(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics Concurrency Cap Configuration)\n this:\n type: datadog:SyntheticsConcurrencyCap\n properties:\n onDemandConcurrencyCap: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Synthetics concurrency cap can be imported. \u003cname\u003e can be whatever you specify in your code. Datadog does not store the name on the server.\n\n```sh\n$ pulumi import datadog:index/syntheticsConcurrencyCap:SyntheticsConcurrencyCap this \u003cname\u003e\n```\n\n", "properties": { "onDemandConcurrencyCap": { "type": "integer", @@ -78322,7 +78322,7 @@ } }, "datadog:index/syntheticsGlobalVariable:SyntheticsGlobalVariable": { - "description": "Provides a Datadog synthetics global variable resource. This can be used to create and manage Datadog synthetics global variables.\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\nconst testVariable = new datadog.SyntheticsGlobalVariable(\"test_variable\", {\n name: \"EXAMPLE_VARIABLE\",\n description: \"Description of the variable\",\n tags: [\n \"foo:bar\",\n \"env:test\",\n ],\n value: \"variable-value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest_variable = datadog.SyntheticsGlobalVariable(\"test_variable\",\n name=\"EXAMPLE_VARIABLE\",\n description=\"Description of the variable\",\n tags=[\n \"foo:bar\",\n \"env:test\",\n ],\n value=\"variable-value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVariable = new Datadog.SyntheticsGlobalVariable(\"test_variable\", new()\n {\n Name = \"EXAMPLE_VARIABLE\",\n Description = \"Description of the variable\",\n Tags = new[]\n {\n \"foo:bar\",\n \"env:test\",\n },\n Value = \"variable-value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSyntheticsGlobalVariable(ctx, \"test_variable\", \u0026datadog.SyntheticsGlobalVariableArgs{\n\t\t\tName: pulumi.String(\"EXAMPLE_VARIABLE\"),\n\t\t\tDescription: pulumi.String(\"Description of the variable\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tValue: pulumi.String(\"variable-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsGlobalVariable;\nimport com.pulumi.datadog.SyntheticsGlobalVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVariable = new SyntheticsGlobalVariable(\"testVariable\", SyntheticsGlobalVariableArgs.builder() \n .name(\"EXAMPLE_VARIABLE\")\n .description(\"Description of the variable\")\n .tags( \n \"foo:bar\",\n \"env:test\")\n .value(\"variable-value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVariable:\n type: datadog:SyntheticsGlobalVariable\n name: test_variable\n properties:\n name: EXAMPLE_VARIABLE\n description: Description of the variable\n tags:\n - foo:bar\n - env:test\n value: variable-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics global variables can be imported using their string ID, e.g.\n\n```sh\n$ pulumi import datadog:index/syntheticsGlobalVariable:SyntheticsGlobalVariable fizz abcde123-fghi-456-jkl-mnopqrstuv\n```\n\n", + "description": "Provides a Datadog synthetics global variable resource. This can be used to create and manage Datadog synthetics global variables.\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\nconst testVariable = new datadog.SyntheticsGlobalVariable(\"test_variable\", {\n name: \"EXAMPLE_VARIABLE\",\n description: \"Description of the variable\",\n tags: [\n \"foo:bar\",\n \"env:test\",\n ],\n value: \"variable-value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest_variable = datadog.SyntheticsGlobalVariable(\"test_variable\",\n name=\"EXAMPLE_VARIABLE\",\n description=\"Description of the variable\",\n tags=[\n \"foo:bar\",\n \"env:test\",\n ],\n value=\"variable-value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVariable = new Datadog.SyntheticsGlobalVariable(\"test_variable\", new()\n {\n Name = \"EXAMPLE_VARIABLE\",\n Description = \"Description of the variable\",\n Tags = new[]\n {\n \"foo:bar\",\n \"env:test\",\n },\n Value = \"variable-value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSyntheticsGlobalVariable(ctx, \"test_variable\", \u0026datadog.SyntheticsGlobalVariableArgs{\n\t\t\tName: pulumi.String(\"EXAMPLE_VARIABLE\"),\n\t\t\tDescription: pulumi.String(\"Description of the variable\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"env:test\"),\n\t\t\t},\n\t\t\tValue: pulumi.String(\"variable-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsGlobalVariable;\nimport com.pulumi.datadog.SyntheticsGlobalVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVariable = new SyntheticsGlobalVariable(\"testVariable\", SyntheticsGlobalVariableArgs.builder()\n .name(\"EXAMPLE_VARIABLE\")\n .description(\"Description of the variable\")\n .tags( \n \"foo:bar\",\n \"env:test\")\n .value(\"variable-value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVariable:\n type: datadog:SyntheticsGlobalVariable\n name: test_variable\n properties:\n name: EXAMPLE_VARIABLE\n description: Description of the variable\n tags:\n - foo:bar\n - env:test\n value: variable-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics global variables can be imported using their string ID, e.g.\n\n```sh\n$ pulumi import datadog:index/syntheticsGlobalVariable:SyntheticsGlobalVariable fizz abcde123-fghi-456-jkl-mnopqrstuv\n```\n\n", "properties": { "description": { "type": "string", @@ -78472,7 +78472,7 @@ } }, "datadog:index/syntheticsPrivateLocation:SyntheticsPrivateLocation": { - "description": "Provides a Datadog synthetics private location resource. This can be used to create and manage Datadog synthetics private locations.\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\nconst privateLocation = new datadog.SyntheticsPrivateLocation(\"private_location\", {\n name: \"First private location\",\n description: \"Description of the private location\",\n tags: [\n \"foo:bar\",\n \"env:test\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nprivate_location = datadog.SyntheticsPrivateLocation(\"private_location\",\n name=\"First private location\",\n description=\"Description of the private location\",\n tags=[\n \"foo:bar\",\n \"env:test\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateLocation = new Datadog.SyntheticsPrivateLocation(\"private_location\", new()\n {\n Name = \"First private location\",\n Description = \"Description of the private location\",\n Tags = new[]\n {\n \"foo:bar\",\n \"env:test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSyntheticsPrivateLocation(ctx, \"private_location\", \u0026datadog.SyntheticsPrivateLocationArgs{\n\t\t\tName: pulumi.String(\"First private location\"),\n\t\t\tDescription: pulumi.String(\"Description of the private location\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"env:test\"),\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.SyntheticsPrivateLocation;\nimport com.pulumi.datadog.SyntheticsPrivateLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateLocation = new SyntheticsPrivateLocation(\"privateLocation\", SyntheticsPrivateLocationArgs.builder() \n .name(\"First private location\")\n .description(\"Description of the private location\")\n .tags( \n \"foo:bar\",\n \"env:test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateLocation:\n type: datadog:SyntheticsPrivateLocation\n name: private_location\n properties:\n name: First private location\n description: Description of the private location\n tags:\n - foo:bar\n - env:test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics private locations can be imported using their string ID, e.g.\n\n```sh\n$ pulumi import datadog:index/syntheticsPrivateLocation:SyntheticsPrivateLocation bar pl:private-location-name-abcdef123456\n```\n\n", + "description": "Provides a Datadog synthetics private location resource. This can be used to create and manage Datadog synthetics private locations.\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\nconst privateLocation = new datadog.SyntheticsPrivateLocation(\"private_location\", {\n name: \"First private location\",\n description: \"Description of the private location\",\n tags: [\n \"foo:bar\",\n \"env:test\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nprivate_location = datadog.SyntheticsPrivateLocation(\"private_location\",\n name=\"First private location\",\n description=\"Description of the private location\",\n tags=[\n \"foo:bar\",\n \"env:test\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateLocation = new Datadog.SyntheticsPrivateLocation(\"private_location\", new()\n {\n Name = \"First private location\",\n Description = \"Description of the private location\",\n Tags = new[]\n {\n \"foo:bar\",\n \"env:test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datadog.NewSyntheticsPrivateLocation(ctx, \"private_location\", \u0026datadog.SyntheticsPrivateLocationArgs{\n\t\t\tName: pulumi.String(\"First private location\"),\n\t\t\tDescription: pulumi.String(\"Description of the private location\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"env:test\"),\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.SyntheticsPrivateLocation;\nimport com.pulumi.datadog.SyntheticsPrivateLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateLocation = new SyntheticsPrivateLocation(\"privateLocation\", SyntheticsPrivateLocationArgs.builder()\n .name(\"First private location\")\n .description(\"Description of the private location\")\n .tags( \n \"foo:bar\",\n \"env:test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateLocation:\n type: datadog:SyntheticsPrivateLocation\n name: private_location\n properties:\n name: First private location\n description: Description of the private location\n tags:\n - foo:bar\n - env:test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics private locations can be imported using their string ID, e.g.\n\n```sh\n$ pulumi import datadog:index/syntheticsPrivateLocation:SyntheticsPrivateLocation bar pl:private-location-name-abcdef123456\n```\n\n", "properties": { "config": { "type": "string", @@ -78559,7 +78559,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://example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n Authentication: \"Token: 1234566789\",\n },\n },\n {\n name: \"An API test on example.org\",\n subtype: \"http\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n method: \"GET\",\n url: \"http://example.org\",\n },\n },\n ],\n optionsList: {\n tickEvery: 900,\n acceptSelfSigned: true,\n },\n});\n// Example Usage (Synthetics Browser test)\n// Create a new Datadog Synthetics Browser test starting on https://www.example.org\nconst testBrowser = new datadog.SyntheticsTest(\"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://app.datadoghq.com\",\n },\n browserSteps: [\n {\n name: \"Check current url\",\n type: \"assertCurrentUrl\",\n params: {\n check: \"contains\",\n value: \"datadoghq\",\n },\n },\n {\n name: \"Test a downloaded file\",\n type: \"assertFileDownload\",\n params: {\n file: JSON.stringify({\n md5: \"abcdef1234567890\",\n sizeCheck: {\n type: \"equals\",\n value: 1,\n },\n nameCheck: {\n type: \"contains\",\n value: \".xls\",\n },\n }),\n },\n },\n ],\n browserVariables: [\n {\n type: \"text\",\n name: \"MY_PATTERN_VAR\",\n pattern: \"{{numeric(3)}}\",\n example: \"597\",\n },\n {\n type: \"email\",\n name: \"MY_EMAIL_VAR\",\n pattern: \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example: \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n {\n type: \"global\",\n name: \"MY_GLOBAL_VAR\",\n id: \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n ],\n optionsList: {\n tickEvery: 3600,\n },\n});\n// Example Usage (GRPC API test)\n// Create a new Datadog GRPC API test starting on google.org:50050\nconst grpc = new datadog.SyntheticsTest(\"grpc\", {\n type: \"api\",\n subtype: \"grpc\",\n requestDefinition: {\n method: \"GET\",\n host: \"google.com\",\n port: 50050,\n service: \"Hello\",\n plainProtoFile: `syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\\x09// Sends a greeting\n\\x09rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\\x09string name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\\x09string message = 1;\n}\n`,\n },\n requestMetadata: {\n header: \"value\",\n },\n assertions: [\n {\n type: \"responseTime\",\n operator: \"lessThan\",\n target: \"2000\",\n },\n {\n operator: \"is\",\n type: \"grpcHealthcheckStatus\",\n target: \"1\",\n },\n {\n operator: \"is\",\n target: \"proto target\",\n type: \"grpcProto\",\n },\n {\n operator: \"is\",\n target: \"123\",\n property: \"property\",\n type: \"grpcMetadata\",\n },\n ],\n locations: [\"aws:eu-central-1\"],\n optionsList: {\n tickEvery: 60,\n },\n name: \"GRPC API test\",\n message: \"Notify @datadog.user\",\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n status: \"paused\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_uptime = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Authenticated API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_api = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Synthetics SSL test)\n# Create a new Datadog Synthetics API/SSL test on example.org\ntest_ssl = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"certificate\",\n operator=\"isInMoreThan\",\n target=\"30\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics TCP test)\n# Create a new Datadog Synthetics API/TCP test on example.org\ntest_tcp = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n )],\n config_variables=[datadog.SyntheticsTestConfigVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics DNS test)\n# Create a new Datadog Synthetics API/DNS test on example.org\ntest_dns = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"recordSome\",\n operator=\"is\",\n property=\"A\",\n target=\"0.0.0.0\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics Multistep API test)\n# Create a new Datadog Synthetics Multistep API test\ntest_multi_step = datadog.SyntheticsTest(\"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 datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n ),\n datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"http://example.org\",\n ),\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics Browser test)\n# Create a new Datadog Synthetics Browser test starting on https://www.example.org\ntest_browser = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://app.datadoghq.com\",\n ),\n browser_steps=[\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Check current url\",\n type=\"assertCurrentUrl\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n check=\"contains\",\n value=\"datadoghq\",\n ),\n ),\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Test a downloaded file\",\n type=\"assertFileDownload\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n file=json.dumps({\n \"md5\": \"abcdef1234567890\",\n \"sizeCheck\": {\n \"type\": \"equals\",\n \"value\": 1,\n },\n \"nameCheck\": {\n \"type\": \"contains\",\n \"value\": \".xls\",\n },\n }),\n ),\n ),\n ],\n browser_variables=[\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"text\",\n name=\"MY_PATTERN_VAR\",\n pattern=\"{{numeric(3)}}\",\n example=\"597\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"email\",\n name=\"MY_EMAIL_VAR\",\n pattern=\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example=\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=3600,\n ))\n# Example Usage (GRPC API test)\n# Create a new Datadog GRPC API test starting on google.org:50050\ngrpc = datadog.SyntheticsTest(\"grpc\",\n type=\"api\",\n subtype=\"grpc\",\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n host=\"google.com\",\n port=50050,\n service=\"Hello\",\n plain_proto_file=\"\"\"syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\\x09// Sends a greeting\n\\x09rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\\x09string name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\\x09string message = 1;\n}\n\"\"\",\n ),\n request_metadata={\n \"header\": \"value\",\n },\n assertions=[\n datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n type=\"grpcHealthcheckStatus\",\n target=\"1\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"proto target\",\n type=\"grpcProto\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"123\",\n property=\"property\",\n type=\"grpcMetadata\",\n ),\n ],\n locations=[\"aws:eu-central-1\"],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=60,\n ),\n name=\"GRPC API test\",\n message=\"Notify @datadog.user\",\n tags=[\n \"foo:bar\",\n \"baz\",\n ],\n status=\"paused\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n var testUptime = new Datadog.SyntheticsTest(\"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://example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n { \"Authentication\", \"Token: 1234566789\" },\n },\n },\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"An API test on example.org\",\n Subtype = \"http\",\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"http://example.org\",\n },\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n AcceptSelfSigned = true,\n },\n });\n\n // Example Usage (Synthetics Browser test)\n // Create a new Datadog Synthetics Browser test starting on https://www.example.org\n var testBrowser = new Datadog.SyntheticsTest(\"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://app.datadoghq.com\",\n },\n BrowserSteps = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Check current url\",\n Type = \"assertCurrentUrl\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n Check = \"contains\",\n Value = \"datadoghq\",\n },\n },\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Test a downloaded file\",\n Type = \"assertFileDownload\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n File = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"md5\"] = \"abcdef1234567890\",\n [\"sizeCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"equals\",\n [\"value\"] = 1,\n },\n [\"nameCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"contains\",\n [\"value\"] = \".xls\",\n },\n }),\n },\n },\n },\n BrowserVariables = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"text\",\n Name = \"MY_PATTERN_VAR\",\n Pattern = \"{{numeric(3)}}\",\n Example = \"597\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"email\",\n Name = \"MY_EMAIL_VAR\",\n Pattern = \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n Example = \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"global\",\n Name = \"MY_GLOBAL_VAR\",\n Id = \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 3600,\n },\n });\n\n // Example Usage (GRPC API test)\n // Create a new Datadog GRPC API test starting on google.org:50050\n var grpc = new Datadog.SyntheticsTest(\"grpc\", new()\n {\n Type = \"api\",\n Subtype = \"grpc\",\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Host = \"google.com\",\n Port = 50050,\n Service = \"Hello\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\noption java_multiple_files = true;\noption java_package = \"\"io.grpc.examples.helloworld\"\";\noption java_outer_classname = \"\"HelloWorldProto\"\";\noption objc_class_prefix = \"\"HLW\"\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n\",\n },\n RequestMetadata = \n {\n { \"header\", \"value\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"responseTime\",\n Operator = \"lessThan\",\n Target = \"2000\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Type = \"grpcHealthcheckStatus\",\n Target = \"1\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"proto target\",\n Type = \"grpcProto\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"123\",\n Property = \"property\",\n Type = \"grpcMetadata\",\n },\n },\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 60,\n },\n Name = \"GRPC API test\",\n Message = \"Notify @datadog.user\",\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n Status = \"paused\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Usage (Synthetics API test)\n\t\t// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n\t\t_, err := datadog.NewSyntheticsTest(ctx, \"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://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t\t\t\t\"Authentication\": pulumi.Any(\"Token: 1234566789\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\t\t\tAssertions: datadog.SyntheticsTestApiStepAssertionArray{\n\t\t\t\t\t\t\u0026datadog.SyntheticsTestApiStepAssertionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestApiStepRequestDefinitionArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"http://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tAcceptSelfSigned: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"md5\": \"abcdef1234567890\",\n\t\t\t\"sizeCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"equals\",\n\t\t\t\t\"value\": 1,\n\t\t\t},\n\t\t\t\"nameCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"contains\",\n\t\t\t\t\"value\": \".xls\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// Example Usage (Synthetics Browser test)\n\t\t// Create a new Datadog Synthetics Browser test starting on https://www.example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"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://app.datadoghq.com\"),\n\t\t\t},\n\t\t\tBrowserSteps: datadog.SyntheticsTestBrowserStepArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Check current url\"),\n\t\t\t\t\tType: pulumi.String(\"assertCurrentUrl\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tCheck: pulumi.String(\"contains\"),\n\t\t\t\t\t\tValue: pulumi.String(\"datadoghq\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Test a downloaded file\"),\n\t\t\t\t\tType: pulumi.String(\"assertFileDownload\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tFile: pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBrowserVariables: datadog.SyntheticsTestBrowserVariableArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tName: pulumi.String(\"MY_PATTERN_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"{{numeric(3)}}\"),\n\t\t\t\t\tExample: pulumi.String(\"597\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"email\"),\n\t\t\t\t\tName: pulumi.String(\"MY_EMAIL_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\"),\n\t\t\t\t\tExample: pulumi.String(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"global\"),\n\t\t\t\t\tName: pulumi.String(\"MY_GLOBAL_VAR\"),\n\t\t\t\t\tId: pulumi.String(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(3600),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (GRPC API test)\n\t\t// Create a new Datadog GRPC API test starting on google.org:50050\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"grpc\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tHost: pulumi.String(\"google.com\"),\n\t\t\t\tPort: pulumi.Int(50050),\n\t\t\t\tService: pulumi.String(\"Hello\"),\n\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n`),\n\t\t\t},\n\t\t\tRequestMetadata: pulumi.Map{\n\t\t\t\t\"header\": pulumi.Any(\"value\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"responseTime\"),\n\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"2000\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tType: pulumi.String(\"grpcHealthcheckStatus\"),\n\t\t\t\t\tTarget: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"proto target\"),\n\t\t\t\t\tType: pulumi.String(\"grpcProto\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"123\"),\n\t\t\t\t\tProperty: pulumi.String(\"property\"),\n\t\t\t\t\tType: pulumi.String(\"grpcMetadata\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(60),\n\t\t\t},\n\t\t\tName: pulumi.String(\"GRPC API test\"),\n\t\t\tMessage: pulumi.String(\"Notify @datadog.user\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"paused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsTest;\nimport com.pulumi.datadog.SyntheticsTestArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestAssertionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListRetryArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListMonitorOptionsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // 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://example.org\")\n .build())\n .requestHeaders(Map.ofEntries(\n Map.entry(\"Content-Type\", \"application/json\"),\n Map.entry(\"Authentication\", \"Token: 1234566789\")\n ))\n .build(),\n SyntheticsTestApiStepArgs.builder()\n .name(\"An API test on example.org\")\n .subtype(\"http\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"http://example.org\")\n .build())\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\n\n // 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://app.datadoghq.com\")\n .build())\n .browserSteps( \n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Check current url\")\n .type(\"assertCurrentUrl\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .check(\"contains\")\n .value(\"datadoghq\")\n .build())\n .build(),\n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Test a downloaded file\")\n .type(\"assertFileDownload\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .file(serializeJson(\n jsonObject(\n jsonProperty(\"md5\", \"abcdef1234567890\"),\n jsonProperty(\"sizeCheck\", jsonObject(\n jsonProperty(\"type\", \"equals\"),\n jsonProperty(\"value\", 1)\n )),\n jsonProperty(\"nameCheck\", jsonObject(\n jsonProperty(\"type\", \"contains\"),\n jsonProperty(\"value\", \".xls\")\n ))\n )))\n .build())\n .build())\n .browserVariables( \n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"text\")\n .name(\"MY_PATTERN_VAR\")\n .pattern(\"{{numeric(3)}}\")\n .example(\"597\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"email\")\n .name(\"MY_EMAIL_VAR\")\n .pattern(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\")\n .example(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"global\")\n .name(\"MY_GLOBAL_VAR\")\n .id(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(3600)\n .build())\n .build());\n\n // Example Usage (GRPC API test)\n // Create a new Datadog GRPC API test starting on google.org:50050\n var grpc = new SyntheticsTest(\"grpc\", SyntheticsTestArgs.builder() \n .type(\"api\")\n .subtype(\"grpc\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .host(\"google.com\")\n .port(50050)\n .service(\"Hello\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n \"\"\")\n .build())\n .requestMetadata(Map.of(\"header\", \"value\"))\n .assertions( \n SyntheticsTestAssertionArgs.builder()\n .type(\"responseTime\")\n .operator(\"lessThan\")\n .target(\"2000\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .type(\"grpcHealthcheckStatus\")\n .target(1)\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"proto target\")\n .type(\"grpcProto\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"123\")\n .property(\"property\")\n .type(\"grpcMetadata\")\n .build())\n .locations(\"aws:eu-central-1\")\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(60)\n .build())\n .name(\"GRPC API test\")\n .message(\"Notify @datadog.user\")\n .tags( \n \"foo:bar\",\n \"baz\")\n .status(\"paused\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics API test)\n # Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n testUptime:\n type: datadog:SyntheticsTest\n 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://example.org\n requestHeaders:\n Content-Type: application/json\n Authentication: 'Token: 1234566789'\n - name: An API test on example.org\n subtype: http\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n method: GET\n url: http://example.org\n optionsList:\n tickEvery: 900\n acceptSelfSigned: true\n # Example Usage (Synthetics Browser test)\n # Create a new Datadog Synthetics Browser test starting on https://www.example.org\n testBrowser:\n type: datadog:SyntheticsTest\n 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://app.datadoghq.com\n browserSteps:\n - name: Check current url\n type: assertCurrentUrl\n params:\n check: contains\n value: datadoghq\n - name: Test a downloaded file\n type: assertFileDownload\n params:\n file:\n fn::toJSON:\n md5: abcdef1234567890\n sizeCheck:\n type: equals\n value: 1\n nameCheck:\n type: contains\n value: .xls\n browserVariables:\n - type: text\n name: MY_PATTERN_VAR\n pattern: '{{numeric(3)}}'\n example: '597'\n - type: email\n name: MY_EMAIL_VAR\n pattern: jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\n example: jd8-afe-ydv.4546132139@synthetics.dtdg.co\n - type: global\n name: MY_GLOBAL_VAR\n id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2\n optionsList:\n tickEvery: 3600\n # Example Usage (GRPC API test)\n # Create a new Datadog GRPC API test starting on google.org:50050\n grpc:\n type: datadog:SyntheticsTest\n properties:\n type: api\n subtype: grpc\n requestDefinition:\n method: GET\n host: google.com\n port: 50050\n service: Hello\n plainProtoFile: |\n syntax = \"proto3\";\n option java_multiple_files = true;\n option java_package = \"io.grpc.examples.helloworld\";\n option java_outer_classname = \"HelloWorldProto\";\n option objc_class_prefix = \"HLW\";\n package helloworld;\n // The greeting service definition.\n service Greeter {\n \t// Sends a greeting\n \trpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n // The request message containing the user's name.\n message HelloRequest {\n \tstring name = 1;\n }\n // The response message containing the greetings\n message HelloReply {\n \tstring message = 1;\n }\n requestMetadata:\n header: value\n assertions:\n - type: responseTime\n operator: lessThan\n target: '2000'\n - operator: is\n type: grpcHealthcheckStatus\n target: 1\n - operator: is\n target: proto target\n type: grpcProto\n - operator: is\n target: '123'\n property: property\n type: grpcMetadata\n locations:\n - aws:eu-central-1\n optionsList:\n tickEvery: 60\n name: GRPC API test\n message: Notify @datadog.user\n tags:\n - foo:bar\n - baz\n status: paused\n```\n\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://example.org\",\n },\n requestHeaders: {\n \"Content-Type\": \"application/json\",\n Authentication: \"Token: 1234566789\",\n },\n },\n {\n name: \"An API test on example.org\",\n subtype: \"http\",\n assertions: [{\n type: \"statusCode\",\n operator: \"is\",\n target: \"200\",\n }],\n requestDefinition: {\n method: \"GET\",\n url: \"http://example.org\",\n },\n },\n ],\n optionsList: {\n tickEvery: 900,\n acceptSelfSigned: true,\n },\n});\n// Example Usage (Synthetics Browser test)\n// Create a new Datadog Synthetics Browser test starting on https://www.example.org\nconst testBrowser = new datadog.SyntheticsTest(\"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://app.datadoghq.com\",\n },\n browserSteps: [\n {\n name: \"Check current url\",\n type: \"assertCurrentUrl\",\n params: {\n check: \"contains\",\n value: \"datadoghq\",\n },\n },\n {\n name: \"Test a downloaded file\",\n type: \"assertFileDownload\",\n params: {\n file: JSON.stringify({\n md5: \"abcdef1234567890\",\n sizeCheck: {\n type: \"equals\",\n value: 1,\n },\n nameCheck: {\n type: \"contains\",\n value: \".xls\",\n },\n }),\n },\n },\n ],\n browserVariables: [\n {\n type: \"text\",\n name: \"MY_PATTERN_VAR\",\n pattern: \"{{numeric(3)}}\",\n example: \"597\",\n },\n {\n type: \"email\",\n name: \"MY_EMAIL_VAR\",\n pattern: \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example: \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n {\n type: \"global\",\n name: \"MY_GLOBAL_VAR\",\n id: \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n ],\n optionsList: {\n tickEvery: 3600,\n },\n});\n// Example Usage (GRPC API test)\n// Create a new Datadog GRPC API test starting on google.org:50050\nconst grpc = new datadog.SyntheticsTest(\"grpc\", {\n type: \"api\",\n subtype: \"grpc\",\n requestDefinition: {\n method: \"GET\",\n host: \"google.com\",\n port: 50050,\n service: \"Hello\",\n plainProtoFile: `syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\\x09// Sends a greeting\n\\x09rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\\x09string name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\\x09string message = 1;\n}\n`,\n },\n requestMetadata: {\n header: \"value\",\n },\n assertions: [\n {\n type: \"responseTime\",\n operator: \"lessThan\",\n target: \"2000\",\n },\n {\n operator: \"is\",\n type: \"grpcHealthcheckStatus\",\n target: \"1\",\n },\n {\n operator: \"is\",\n target: \"proto target\",\n type: \"grpcProto\",\n },\n {\n operator: \"is\",\n target: \"123\",\n property: \"property\",\n type: \"grpcMetadata\",\n },\n ],\n locations: [\"aws:eu-central-1\"],\n optionsList: {\n tickEvery: 60,\n },\n name: \"GRPC API test\",\n message: \"Notify @datadog.user\",\n tags: [\n \"foo:bar\",\n \"baz\",\n ],\n status: \"paused\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Example Usage (Synthetics API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_uptime = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Authenticated API test)\n# Create a new Datadog Synthetics API/HTTP test on https://www.example.org\ntest_api = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://www.example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n retry=datadog.SyntheticsTestOptionsListRetryArgs(\n count=2,\n interval=300,\n ),\n monitor_options=datadog.SyntheticsTestOptionsListMonitorOptionsArgs(\n renotify_interval=120,\n ),\n ))\n# Example Usage (Synthetics SSL test)\n# Create a new Datadog Synthetics API/SSL test on example.org\ntest_ssl = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"certificate\",\n operator=\"isInMoreThan\",\n target=\"30\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics TCP test)\n# Create a new Datadog Synthetics API/TCP test on example.org\ntest_tcp = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n port=443,\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n )],\n config_variables=[datadog.SyntheticsTestConfigVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics DNS test)\n# Create a new Datadog Synthetics API/DNS test on example.org\ntest_dns = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n host=\"example.org\",\n ),\n assertions=[datadog.SyntheticsTestAssertionArgs(\n type=\"recordSome\",\n operator=\"is\",\n property=\"A\",\n target=\"0.0.0.0\",\n )],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n ))\n# Example Usage (Synthetics Multistep API test)\n# Create a new Datadog Synthetics Multistep API test\ntest_multi_step = datadog.SyntheticsTest(\"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 datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://example.org\",\n ),\n request_headers={\n \"Content-Type\": \"application/json\",\n \"Authentication\": \"Token: 1234566789\",\n },\n ),\n datadog.SyntheticsTestApiStepArgs(\n name=\"An API test on example.org\",\n subtype=\"http\",\n assertions=[datadog.SyntheticsTestApiStepAssertionArgs(\n type=\"statusCode\",\n operator=\"is\",\n target=\"200\",\n )],\n request_definition=datadog.SyntheticsTestApiStepRequestDefinitionArgs(\n method=\"GET\",\n url=\"http://example.org\",\n ),\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=900,\n accept_self_signed=True,\n ))\n# Example Usage (Synthetics Browser test)\n# Create a new Datadog Synthetics Browser test starting on https://www.example.org\ntest_browser = datadog.SyntheticsTest(\"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=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n url=\"https://app.datadoghq.com\",\n ),\n browser_steps=[\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Check current url\",\n type=\"assertCurrentUrl\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n check=\"contains\",\n value=\"datadoghq\",\n ),\n ),\n datadog.SyntheticsTestBrowserStepArgs(\n name=\"Test a downloaded file\",\n type=\"assertFileDownload\",\n params=datadog.SyntheticsTestBrowserStepParamsArgs(\n file=json.dumps({\n \"md5\": \"abcdef1234567890\",\n \"sizeCheck\": {\n \"type\": \"equals\",\n \"value\": 1,\n },\n \"nameCheck\": {\n \"type\": \"contains\",\n \"value\": \".xls\",\n },\n }),\n ),\n ),\n ],\n browser_variables=[\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"text\",\n name=\"MY_PATTERN_VAR\",\n pattern=\"{{numeric(3)}}\",\n example=\"597\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"email\",\n name=\"MY_EMAIL_VAR\",\n pattern=\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n example=\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n ),\n datadog.SyntheticsTestBrowserVariableArgs(\n type=\"global\",\n name=\"MY_GLOBAL_VAR\",\n id=\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n ),\n ],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=3600,\n ))\n# Example Usage (GRPC API test)\n# Create a new Datadog GRPC API test starting on google.org:50050\ngrpc = datadog.SyntheticsTest(\"grpc\",\n type=\"api\",\n subtype=\"grpc\",\n request_definition=datadog.SyntheticsTestRequestDefinitionArgs(\n method=\"GET\",\n host=\"google.com\",\n port=50050,\n service=\"Hello\",\n plain_proto_file=\"\"\"syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\\x09// Sends a greeting\n\\x09rpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\\x09string name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\\x09string message = 1;\n}\n\"\"\",\n ),\n request_metadata={\n \"header\": \"value\",\n },\n assertions=[\n datadog.SyntheticsTestAssertionArgs(\n type=\"responseTime\",\n operator=\"lessThan\",\n target=\"2000\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n type=\"grpcHealthcheckStatus\",\n target=\"1\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"proto target\",\n type=\"grpcProto\",\n ),\n datadog.SyntheticsTestAssertionArgs(\n operator=\"is\",\n target=\"123\",\n property=\"property\",\n type=\"grpcMetadata\",\n ),\n ],\n locations=[\"aws:eu-central-1\"],\n options_list=datadog.SyntheticsTestOptionsListArgs(\n tick_every=60,\n ),\n name=\"GRPC API test\",\n message=\"Notify @datadog.user\",\n tags=[\n \"foo:bar\",\n \"baz\",\n ],\n status=\"paused\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage (Synthetics API test)\n // Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n var testUptime = new Datadog.SyntheticsTest(\"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://example.org\",\n },\n RequestHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n { \"Authentication\", \"Token: 1234566789\" },\n },\n },\n new Datadog.Inputs.SyntheticsTestApiStepArgs\n {\n Name = \"An API test on example.org\",\n Subtype = \"http\",\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestApiStepAssertionArgs\n {\n Type = \"statusCode\",\n Operator = \"is\",\n Target = \"200\",\n },\n },\n RequestDefinition = new Datadog.Inputs.SyntheticsTestApiStepRequestDefinitionArgs\n {\n Method = \"GET\",\n Url = \"http://example.org\",\n },\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 900,\n AcceptSelfSigned = true,\n },\n });\n\n // Example Usage (Synthetics Browser test)\n // Create a new Datadog Synthetics Browser test starting on https://www.example.org\n var testBrowser = new Datadog.SyntheticsTest(\"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://app.datadoghq.com\",\n },\n BrowserSteps = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Check current url\",\n Type = \"assertCurrentUrl\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n Check = \"contains\",\n Value = \"datadoghq\",\n },\n },\n new Datadog.Inputs.SyntheticsTestBrowserStepArgs\n {\n Name = \"Test a downloaded file\",\n Type = \"assertFileDownload\",\n Params = new Datadog.Inputs.SyntheticsTestBrowserStepParamsArgs\n {\n File = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"md5\"] = \"abcdef1234567890\",\n [\"sizeCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"equals\",\n [\"value\"] = 1,\n },\n [\"nameCheck\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"contains\",\n [\"value\"] = \".xls\",\n },\n }),\n },\n },\n },\n BrowserVariables = new[]\n {\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"text\",\n Name = \"MY_PATTERN_VAR\",\n Pattern = \"{{numeric(3)}}\",\n Example = \"597\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"email\",\n Name = \"MY_EMAIL_VAR\",\n Pattern = \"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\",\n Example = \"jd8-afe-ydv.4546132139@synthetics.dtdg.co\",\n },\n new Datadog.Inputs.SyntheticsTestBrowserVariableArgs\n {\n Type = \"global\",\n Name = \"MY_GLOBAL_VAR\",\n Id = \"76636cd1-82e2-4aeb-9cfe-51366a8198a2\",\n },\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 3600,\n },\n });\n\n // Example Usage (GRPC API test)\n // Create a new Datadog GRPC API test starting on google.org:50050\n var grpc = new Datadog.SyntheticsTest(\"grpc\", new()\n {\n Type = \"api\",\n Subtype = \"grpc\",\n RequestDefinition = new Datadog.Inputs.SyntheticsTestRequestDefinitionArgs\n {\n Method = \"GET\",\n Host = \"google.com\",\n Port = 50050,\n Service = \"Hello\",\n PlainProtoFile = @\"syntax = \"\"proto3\"\";\noption java_multiple_files = true;\noption java_package = \"\"io.grpc.examples.helloworld\"\";\noption java_outer_classname = \"\"HelloWorldProto\"\";\noption objc_class_prefix = \"\"HLW\"\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n\",\n },\n RequestMetadata = \n {\n { \"header\", \"value\" },\n },\n Assertions = new[]\n {\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Type = \"responseTime\",\n Operator = \"lessThan\",\n Target = \"2000\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Type = \"grpcHealthcheckStatus\",\n Target = \"1\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"proto target\",\n Type = \"grpcProto\",\n },\n new Datadog.Inputs.SyntheticsTestAssertionArgs\n {\n Operator = \"is\",\n Target = \"123\",\n Property = \"property\",\n Type = \"grpcMetadata\",\n },\n },\n Locations = new[]\n {\n \"aws:eu-central-1\",\n },\n OptionsList = new Datadog.Inputs.SyntheticsTestOptionsListArgs\n {\n TickEvery = 60,\n },\n Name = \"GRPC API test\",\n Message = \"Notify @datadog.user\",\n Tags = new[]\n {\n \"foo:bar\",\n \"baz\",\n },\n Status = \"paused\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example Usage (Synthetics API test)\n\t\t// Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n\t\t_, err := datadog.NewSyntheticsTest(ctx, \"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://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestHeaders: pulumi.Map{\n\t\t\t\t\t\t\"Content-Type\": pulumi.Any(\"application/json\"),\n\t\t\t\t\t\t\"Authentication\": pulumi.Any(\"Token: 1234566789\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestApiStepArgs{\n\t\t\t\t\tName: pulumi.String(\"An API test on example.org\"),\n\t\t\t\t\tSubtype: pulumi.String(\"http\"),\n\t\t\t\t\tAssertions: datadog.SyntheticsTestApiStepAssertionArray{\n\t\t\t\t\t\t\u0026datadog.SyntheticsTestApiStepAssertionArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"statusCode\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"200\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestApiStepRequestDefinitionArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"http://example.org\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(900),\n\t\t\t\tAcceptSelfSigned: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"md5\": \"abcdef1234567890\",\n\t\t\t\"sizeCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"equals\",\n\t\t\t\t\"value\": 1,\n\t\t\t},\n\t\t\t\"nameCheck\": map[string]interface{}{\n\t\t\t\t\"type\": \"contains\",\n\t\t\t\t\"value\": \".xls\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// Example Usage (Synthetics Browser test)\n\t\t// Create a new Datadog Synthetics Browser test starting on https://www.example.org\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"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://app.datadoghq.com\"),\n\t\t\t},\n\t\t\tBrowserSteps: datadog.SyntheticsTestBrowserStepArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Check current url\"),\n\t\t\t\t\tType: pulumi.String(\"assertCurrentUrl\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tCheck: pulumi.String(\"contains\"),\n\t\t\t\t\t\tValue: pulumi.String(\"datadoghq\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserStepArgs{\n\t\t\t\t\tName: pulumi.String(\"Test a downloaded file\"),\n\t\t\t\t\tType: pulumi.String(\"assertFileDownload\"),\n\t\t\t\t\tParams: \u0026datadog.SyntheticsTestBrowserStepParamsArgs{\n\t\t\t\t\t\tFile: pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBrowserVariables: datadog.SyntheticsTestBrowserVariableArray{\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tName: pulumi.String(\"MY_PATTERN_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"{{numeric(3)}}\"),\n\t\t\t\t\tExample: pulumi.String(\"597\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"email\"),\n\t\t\t\t\tName: pulumi.String(\"MY_EMAIL_VAR\"),\n\t\t\t\t\tPattern: pulumi.String(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\"),\n\t\t\t\t\tExample: pulumi.String(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestBrowserVariableArgs{\n\t\t\t\t\tType: pulumi.String(\"global\"),\n\t\t\t\t\tName: pulumi.String(\"MY_GLOBAL_VAR\"),\n\t\t\t\t\tId: pulumi.String(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(3600),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage (GRPC API test)\n\t\t// Create a new Datadog GRPC API test starting on google.org:50050\n\t\t_, err = datadog.NewSyntheticsTest(ctx, \"grpc\", \u0026datadog.SyntheticsTestArgs{\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tSubtype: pulumi.String(\"grpc\"),\n\t\t\tRequestDefinition: \u0026datadog.SyntheticsTestRequestDefinitionArgs{\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tHost: pulumi.String(\"google.com\"),\n\t\t\t\tPort: pulumi.Int(50050),\n\t\t\t\tService: pulumi.String(\"Hello\"),\n\t\t\t\tPlainProtoFile: pulumi.String(`syntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n`),\n\t\t\t},\n\t\t\tRequestMetadata: pulumi.Map{\n\t\t\t\t\"header\": pulumi.Any(\"value\"),\n\t\t\t},\n\t\t\tAssertions: datadog.SyntheticsTestAssertionArray{\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"responseTime\"),\n\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\tTarget: pulumi.String(\"2000\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tType: pulumi.String(\"grpcHealthcheckStatus\"),\n\t\t\t\t\tTarget: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"proto target\"),\n\t\t\t\t\tType: pulumi.String(\"grpcProto\"),\n\t\t\t\t},\n\t\t\t\t\u0026datadog.SyntheticsTestAssertionArgs{\n\t\t\t\t\tOperator: pulumi.String(\"is\"),\n\t\t\t\t\tTarget: pulumi.String(\"123\"),\n\t\t\t\t\tProperty: pulumi.String(\"property\"),\n\t\t\t\t\tType: pulumi.String(\"grpcMetadata\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws:eu-central-1\"),\n\t\t\t},\n\t\t\tOptionsList: \u0026datadog.SyntheticsTestOptionsListArgs{\n\t\t\t\tTickEvery: pulumi.Int(60),\n\t\t\t},\n\t\t\tName: pulumi.String(\"GRPC API test\"),\n\t\t\tMessage: pulumi.String(\"Notify @datadog.user\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"paused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.SyntheticsTest;\nimport com.pulumi.datadog.SyntheticsTestArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestAssertionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListRetryArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestOptionsListMonitorOptionsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestApiStepRequestDefinitionArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsArgs;\nimport com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // 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://example.org\")\n .build())\n .requestHeaders(Map.ofEntries(\n Map.entry(\"Content-Type\", \"application/json\"),\n Map.entry(\"Authentication\", \"Token: 1234566789\")\n ))\n .build(),\n SyntheticsTestApiStepArgs.builder()\n .name(\"An API test on example.org\")\n .subtype(\"http\")\n .assertions(SyntheticsTestApiStepAssertionArgs.builder()\n .type(\"statusCode\")\n .operator(\"is\")\n .target(\"200\")\n .build())\n .requestDefinition(SyntheticsTestApiStepRequestDefinitionArgs.builder()\n .method(\"GET\")\n .url(\"http://example.org\")\n .build())\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(900)\n .acceptSelfSigned(true)\n .build())\n .build());\n\n // 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://app.datadoghq.com\")\n .build())\n .browserSteps( \n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Check current url\")\n .type(\"assertCurrentUrl\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .check(\"contains\")\n .value(\"datadoghq\")\n .build())\n .build(),\n SyntheticsTestBrowserStepArgs.builder()\n .name(\"Test a downloaded file\")\n .type(\"assertFileDownload\")\n .params(SyntheticsTestBrowserStepParamsArgs.builder()\n .file(serializeJson(\n jsonObject(\n jsonProperty(\"md5\", \"abcdef1234567890\"),\n jsonProperty(\"sizeCheck\", jsonObject(\n jsonProperty(\"type\", \"equals\"),\n jsonProperty(\"value\", 1)\n )),\n jsonProperty(\"nameCheck\", jsonObject(\n jsonProperty(\"type\", \"contains\"),\n jsonProperty(\"value\", \".xls\")\n ))\n )))\n .build())\n .build())\n .browserVariables( \n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"text\")\n .name(\"MY_PATTERN_VAR\")\n .pattern(\"{{numeric(3)}}\")\n .example(\"597\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"email\")\n .name(\"MY_EMAIL_VAR\")\n .pattern(\"jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\")\n .example(\"jd8-afe-ydv.4546132139@synthetics.dtdg.co\")\n .build(),\n SyntheticsTestBrowserVariableArgs.builder()\n .type(\"global\")\n .name(\"MY_GLOBAL_VAR\")\n .id(\"76636cd1-82e2-4aeb-9cfe-51366a8198a2\")\n .build())\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(3600)\n .build())\n .build());\n\n // Example Usage (GRPC API test)\n // Create a new Datadog GRPC API test starting on google.org:50050\n var grpc = new SyntheticsTest(\"grpc\", SyntheticsTestArgs.builder()\n .type(\"api\")\n .subtype(\"grpc\")\n .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder()\n .method(\"GET\")\n .host(\"google.com\")\n .port(50050)\n .service(\"Hello\")\n .plainProtoFile(\"\"\"\nsyntax = \"proto3\";\noption java_multiple_files = true;\noption java_package = \"io.grpc.examples.helloworld\";\noption java_outer_classname = \"HelloWorldProto\";\noption objc_class_prefix = \"HLW\";\npackage helloworld;\n// The greeting service definition.\nservice Greeter {\n\t// Sends a greeting\n\trpc SayHello (HelloRequest) returns (HelloReply) {}\n}\n// The request message containing the user's name.\nmessage HelloRequest {\n\tstring name = 1;\n}\n// The response message containing the greetings\nmessage HelloReply {\n\tstring message = 1;\n}\n \"\"\")\n .build())\n .requestMetadata(Map.of(\"header\", \"value\"))\n .assertions( \n SyntheticsTestAssertionArgs.builder()\n .type(\"responseTime\")\n .operator(\"lessThan\")\n .target(\"2000\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .type(\"grpcHealthcheckStatus\")\n .target(1)\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"proto target\")\n .type(\"grpcProto\")\n .build(),\n SyntheticsTestAssertionArgs.builder()\n .operator(\"is\")\n .target(\"123\")\n .property(\"property\")\n .type(\"grpcMetadata\")\n .build())\n .locations(\"aws:eu-central-1\")\n .optionsList(SyntheticsTestOptionsListArgs.builder()\n .tickEvery(60)\n .build())\n .name(\"GRPC API test\")\n .message(\"Notify @datadog.user\")\n .tags( \n \"foo:bar\",\n \"baz\")\n .status(\"paused\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage (Synthetics API test)\n # Create a new Datadog Synthetics API/HTTP test on https://www.example.org\n testUptime:\n type: datadog:SyntheticsTest\n 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://example.org\n requestHeaders:\n Content-Type: application/json\n Authentication: 'Token: 1234566789'\n - name: An API test on example.org\n subtype: http\n assertions:\n - type: statusCode\n operator: is\n target: '200'\n requestDefinition:\n method: GET\n url: http://example.org\n optionsList:\n tickEvery: 900\n acceptSelfSigned: true\n # Example Usage (Synthetics Browser test)\n # Create a new Datadog Synthetics Browser test starting on https://www.example.org\n testBrowser:\n type: datadog:SyntheticsTest\n 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://app.datadoghq.com\n browserSteps:\n - name: Check current url\n type: assertCurrentUrl\n params:\n check: contains\n value: datadoghq\n - name: Test a downloaded file\n type: assertFileDownload\n params:\n file:\n fn::toJSON:\n md5: abcdef1234567890\n sizeCheck:\n type: equals\n value: 1\n nameCheck:\n type: contains\n value: .xls\n browserVariables:\n - type: text\n name: MY_PATTERN_VAR\n pattern: '{{numeric(3)}}'\n example: '597'\n - type: email\n name: MY_EMAIL_VAR\n pattern: jd8-afe-ydv.{{ numeric(10) }}@synthetics.dtdg.co\n example: jd8-afe-ydv.4546132139@synthetics.dtdg.co\n - type: global\n name: MY_GLOBAL_VAR\n id: 76636cd1-82e2-4aeb-9cfe-51366a8198a2\n optionsList:\n tickEvery: 3600\n # Example Usage (GRPC API test)\n # Create a new Datadog GRPC API test starting on google.org:50050\n grpc:\n type: datadog:SyntheticsTest\n properties:\n type: api\n subtype: grpc\n requestDefinition:\n method: GET\n host: google.com\n port: 50050\n service: Hello\n plainProtoFile: |\n syntax = \"proto3\";\n option java_multiple_files = true;\n option java_package = \"io.grpc.examples.helloworld\";\n option java_outer_classname = \"HelloWorldProto\";\n option objc_class_prefix = \"HLW\";\n package helloworld;\n // The greeting service definition.\n service Greeter {\n \t// Sends a greeting\n \trpc SayHello (HelloRequest) returns (HelloReply) {}\n }\n // The request message containing the user's name.\n message HelloRequest {\n \tstring name = 1;\n }\n // The response message containing the greetings\n message HelloReply {\n \tstring message = 1;\n }\n requestMetadata:\n header: value\n assertions:\n - type: responseTime\n operator: lessThan\n target: '2000'\n - operator: is\n type: grpcHealthcheckStatus\n target: 1\n - operator: is\n target: proto target\n type: grpcProto\n - operator: is\n target: '123'\n property: property\n type: grpcMetadata\n locations:\n - aws:eu-central-1\n optionsList:\n tickEvery: 60\n name: GRPC API test\n message: Notify @datadog.user\n tags:\n - foo:bar\n - baz\n status: paused\n```\n\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", @@ -78953,7 +78953,7 @@ } }, "datadog:index/team:Team": { - "description": "Provides a Datadog Team resource. This can be used to create and manage Datadog team.\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 new team resource\nconst foo = new datadog.Team(\"foo\", {\n description: \"Team description\",\n handle: \"example-team\",\n name: \"Example Team\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new team resource\nfoo = datadog.Team(\"foo\",\n description=\"Team description\",\n handle=\"example-team\",\n name=\"Example Team\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new team resource\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Team description\",\n Handle = \"example-team\",\n Name = \"Example Team\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new team resource\n\t\t_, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Team description\"),\n\t\t\tHandle: pulumi.String(\"example-team\"),\n\t\t\tName: pulumi.String(\"Example Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport 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 new team resource\n var foo = new Team(\"foo\", TeamArgs.builder() \n .description(\"Team description\")\n .handle(\"example-team\")\n .name(\"Example Team\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new team resource\n foo:\n type: datadog:Team\n properties:\n description: Team description\n handle: example-team\n name: Example Team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/team:Team foo \"bf064c56-edb0-11ed-ae91-da7ad0900002\"\n```\n\n", + "description": "Provides a Datadog Team resource. This can be used to create and manage Datadog team.\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 new team resource\nconst foo = new datadog.Team(\"foo\", {\n description: \"Team description\",\n handle: \"example-team\",\n name: \"Example Team\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create new team resource\nfoo = datadog.Team(\"foo\",\n description=\"Team description\",\n handle=\"example-team\",\n name=\"Example Team\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create new team resource\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Team description\",\n Handle = \"example-team\",\n Name = \"Example Team\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create new team resource\n\t\t_, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Team description\"),\n\t\t\tHandle: pulumi.String(\"example-team\"),\n\t\t\tName: pulumi.String(\"Example Team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport 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 new team resource\n var foo = new Team(\"foo\", TeamArgs.builder()\n .description(\"Team description\")\n .handle(\"example-team\")\n .name(\"Example Team\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new team resource\n foo:\n type: datadog:Team\n properties:\n description: Team description\n handle: example-team\n name: Example Team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/team:Team foo \"bf064c56-edb0-11ed-ae91-da7ad0900002\"\n```\n\n", "properties": { "description": { "type": "string", @@ -79039,7 +79039,7 @@ } }, "datadog:index/teamLink:TeamLink": { - "description": "Provides a Datadog TeamLink resource. This can be used to create and manage Datadog team_link.\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\nconst foo = new datadog.Team(\"foo\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\n// Create new team_link resource\nconst fooTeamLink = new datadog.TeamLink(\"foo\", {\n teamId: foo.id,\n label: \"Link label\",\n position: \"Example link\",\n url: \"https://example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Team(\"foo\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\n# Create new team_link resource\nfoo_team_link = datadog.TeamLink(\"foo\",\n team_id=foo.id,\n label=\"Link label\",\n position=\"Example link\",\n url=\"https://example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n // Create new team_link resource\n var fooTeamLink = new Datadog.TeamLink(\"foo\", new()\n {\n TeamId = foo.Id,\n Label = \"Link label\",\n Position = \"Example link\",\n Url = \"https://example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new team_link resource\n\t\t_, err = datadog.NewTeamLink(ctx, \"foo\", \u0026datadog.TeamLinkArgs{\n\t\t\tTeamId: foo.ID(),\n\t\t\tLabel: pulumi.String(\"Link label\"),\n\t\t\tPosition: pulumi.Int(\"Example link\"),\n\t\t\tUrl: pulumi.String(\"https://example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.TeamLink;\nimport com.pulumi.datadog.TeamLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Team(\"foo\", TeamArgs.builder() \n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n // Create new team_link resource\n var fooTeamLink = new TeamLink(\"fooTeamLink\", TeamLinkArgs.builder() \n .teamId(foo.id())\n .label(\"Link label\")\n .position(\"Example link\")\n .url(\"https://example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n # Create new team_link resource\n fooTeamLink:\n type: datadog:TeamLink\n name: foo\n properties:\n teamId: ${foo.id}\n label: Link label\n position: Example link\n url: https://example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/teamLink:TeamLink new_list \"${team_id}:${resource_id}\"\n```\n\n", + "description": "Provides a Datadog TeamLink resource. This can be used to create and manage Datadog team_link.\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\nconst foo = new datadog.Team(\"foo\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\n// Create new team_link resource\nconst fooTeamLink = new datadog.TeamLink(\"foo\", {\n teamId: foo.id,\n label: \"Link label\",\n position: \"Example link\",\n url: \"https://example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Team(\"foo\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\n# Create new team_link resource\nfoo_team_link = datadog.TeamLink(\"foo\",\n team_id=foo.id,\n label=\"Link label\",\n position=\"Example link\",\n url=\"https://example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n // Create new team_link resource\n var fooTeamLink = new Datadog.TeamLink(\"foo\", new()\n {\n TeamId = foo.Id,\n Label = \"Link label\",\n Position = \"Example link\",\n Url = \"https://example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new team_link resource\n\t\t_, err = datadog.NewTeamLink(ctx, \"foo\", \u0026datadog.TeamLinkArgs{\n\t\t\tTeamId: foo.ID(),\n\t\t\tLabel: pulumi.String(\"Link label\"),\n\t\t\tPosition: pulumi.Int(\"Example link\"),\n\t\t\tUrl: pulumi.String(\"https://example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.TeamLink;\nimport com.pulumi.datadog.TeamLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Team(\"foo\", TeamArgs.builder()\n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n // Create new team_link resource\n var fooTeamLink = new TeamLink(\"fooTeamLink\", TeamLinkArgs.builder()\n .teamId(foo.id())\n .label(\"Link label\")\n .position(\"Example link\")\n .url(\"https://example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n # Create new team_link resource\n fooTeamLink:\n type: datadog:TeamLink\n name: foo\n properties:\n teamId: ${foo.id}\n label: Link label\n position: Example link\n url: https://example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/teamLink:TeamLink new_list \"${team_id}:${resource_id}\"\n```\n\n", "properties": { "label": { "type": "string", @@ -79111,7 +79111,7 @@ } }, "datadog:index/teamMembership:TeamMembership": { - "description": "Provides a Datadog TeamMembership resource. This can be used to create and manage Datadog team_membership.\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\nconst foo = new datadog.Team(\"foo\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\nconst fooUser = new datadog.User(\"foo\", {email: \"new@example.com\"});\n// Create new team_membership resource\nconst fooTeamMembership = new datadog.TeamMembership(\"foo\", {\n teamId: foo.id,\n userId: fooUser.id,\n role: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Team(\"foo\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\nfoo_user = datadog.User(\"foo\", email=\"new@example.com\")\n# Create new team_membership resource\nfoo_team_membership = datadog.TeamMembership(\"foo\",\n team_id=foo.id,\n user_id=foo_user.id,\n role=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n var fooUser = new Datadog.User(\"foo\", new()\n {\n Email = \"new@example.com\",\n });\n\n // Create new team_membership resource\n var fooTeamMembership = new Datadog.TeamMembership(\"foo\", new()\n {\n TeamId = foo.Id,\n UserId = fooUser.Id,\n Role = \"admin\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooUser, err := datadog.NewUser(ctx, \"foo\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new team_membership resource\n\t\t_, err = datadog.NewTeamMembership(ctx, \"foo\", \u0026datadog.TeamMembershipArgs{\n\t\t\tTeamId: foo.ID(),\n\t\t\tUserId: fooUser.ID(),\n\t\t\tRole: pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport com.pulumi.datadog.TeamMembership;\nimport com.pulumi.datadog.TeamMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Team(\"foo\", TeamArgs.builder() \n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder() \n .email(\"new@example.com\")\n .build());\n\n // Create new team_membership resource\n var fooTeamMembership = new TeamMembership(\"fooTeamMembership\", TeamMembershipArgs.builder() \n .teamId(foo.id())\n .userId(fooUser.id())\n .role(\"admin\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n fooUser:\n type: datadog:User\n name: foo\n properties:\n email: new@example.com\n # Create new team_membership resource\n fooTeamMembership:\n type: datadog:TeamMembership\n name: foo\n properties:\n teamId: ${foo.id}\n userId: ${fooUser.id}\n role: admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource is imported using team_id and user_id seperated by `:`.\n\n```sh\n$ pulumi import datadog:index/teamMembership:TeamMembership foo \"${team_id}:${user_id}\"\n```\n\n", + "description": "Provides a Datadog TeamMembership resource. This can be used to create and manage Datadog team_membership.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst foo = new datadog.Team(\"foo\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\nconst fooUser = new datadog.User(\"foo\", {email: \"new@example.com\"});\n// Create new team_membership resource\nconst fooTeamMembership = new datadog.TeamMembership(\"foo\", {\n teamId: foo.id,\n userId: fooUser.id,\n role: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Team(\"foo\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\nfoo_user = datadog.User(\"foo\", email=\"new@example.com\")\n# Create new team_membership resource\nfoo_team_membership = datadog.TeamMembership(\"foo\",\n team_id=foo.id,\n user_id=foo_user.id,\n role=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n var fooUser = new Datadog.User(\"foo\", new()\n {\n Email = \"new@example.com\",\n });\n\n // Create new team_membership resource\n var fooTeamMembership = new Datadog.TeamMembership(\"foo\", new()\n {\n TeamId = foo.Id,\n UserId = fooUser.Id,\n Role = \"admin\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooUser, err := datadog.NewUser(ctx, \"foo\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new team_membership resource\n\t\t_, err = datadog.NewTeamMembership(ctx, \"foo\", \u0026datadog.TeamMembershipArgs{\n\t\t\tTeamId: foo.ID(),\n\t\t\tUserId: fooUser.ID(),\n\t\t\tRole: pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport com.pulumi.datadog.TeamMembership;\nimport com.pulumi.datadog.TeamMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Team(\"foo\", TeamArgs.builder()\n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder()\n .email(\"new@example.com\")\n .build());\n\n // Create new team_membership resource\n var fooTeamMembership = new TeamMembership(\"fooTeamMembership\", TeamMembershipArgs.builder()\n .teamId(foo.id())\n .userId(fooUser.id())\n .role(\"admin\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n fooUser:\n type: datadog:User\n name: foo\n properties:\n email: new@example.com\n # Create new team_membership resource\n fooTeamMembership:\n type: datadog:TeamMembership\n name: foo\n properties:\n teamId: ${foo.id}\n userId: ${fooUser.id}\n role: admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource is imported using team_id and user_id seperated by `:`.\n\n```sh\n$ pulumi import datadog:index/teamMembership:TeamMembership foo \"${team_id}:${user_id}\"\n```\n\n", "properties": { "role": { "type": "string", @@ -79168,7 +79168,7 @@ } }, "datadog:index/teamPermissionSetting:TeamPermissionSetting": { - "description": "Provides a Datadog TeamPermissionSetting resource. This can be used to manage Datadog team_permission_setting.\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\nconst foo = new datadog.Team(\"foo\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\nconst fooTeamPermissionSetting = new datadog.TeamPermissionSetting(\"foo\", {\n teamId: foo.id,\n action: \"manage_membership\",\n value: \"organization\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Team(\"foo\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\nfoo_team_permission_setting = datadog.TeamPermissionSetting(\"foo\",\n team_id=foo.id,\n action=\"manage_membership\",\n value=\"organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n var fooTeamPermissionSetting = new Datadog.TeamPermissionSetting(\"foo\", new()\n {\n TeamId = foo.Id,\n Action = \"manage_membership\",\n Value = \"organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewTeamPermissionSetting(ctx, \"foo\", \u0026datadog.TeamPermissionSettingArgs{\n\t\t\tTeamId: foo.ID(),\n\t\t\tAction: pulumi.String(\"manage_membership\"),\n\t\t\tValue: pulumi.String(\"organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.TeamPermissionSetting;\nimport com.pulumi.datadog.TeamPermissionSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Team(\"foo\", TeamArgs.builder() \n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n var fooTeamPermissionSetting = new TeamPermissionSetting(\"fooTeamPermissionSetting\", TeamPermissionSettingArgs.builder() \n .teamId(foo.id())\n .action(\"manage_membership\")\n .value(\"organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n fooTeamPermissionSetting:\n type: datadog:TeamPermissionSetting\n name: foo\n properties:\n teamId: ${foo.id}\n action: manage_membership\n value: organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Datadog TeamPermissionSetting resource. This can be used to manage Datadog team_permission_setting.\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\nconst foo = new datadog.Team(\"foo\", {\n description: \"Example team\",\n handle: \"example-team-updated\",\n name: \"Example Team-updated\",\n});\nconst fooTeamPermissionSetting = new datadog.TeamPermissionSetting(\"foo\", {\n teamId: foo.id,\n action: \"manage_membership\",\n value: \"organization\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.Team(\"foo\",\n description=\"Example team\",\n handle=\"example-team-updated\",\n name=\"Example Team-updated\")\nfoo_team_permission_setting = datadog.TeamPermissionSetting(\"foo\",\n team_id=foo.id,\n action=\"manage_membership\",\n value=\"organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Datadog.Team(\"foo\", new()\n {\n Description = \"Example team\",\n Handle = \"example-team-updated\",\n Name = \"Example Team-updated\",\n });\n\n var fooTeamPermissionSetting = new Datadog.TeamPermissionSetting(\"foo\", new()\n {\n TeamId = foo.Id,\n Action = \"manage_membership\",\n Value = \"organization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.NewTeam(ctx, \"foo\", \u0026datadog.TeamArgs{\n\t\t\tDescription: pulumi.String(\"Example team\"),\n\t\t\tHandle: pulumi.String(\"example-team-updated\"),\n\t\t\tName: pulumi.String(\"Example Team-updated\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewTeamPermissionSetting(ctx, \"foo\", \u0026datadog.TeamPermissionSettingArgs{\n\t\t\tTeamId: foo.ID(),\n\t\t\tAction: pulumi.String(\"manage_membership\"),\n\t\t\tValue: pulumi.String(\"organization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Team;\nimport com.pulumi.datadog.TeamArgs;\nimport com.pulumi.datadog.TeamPermissionSetting;\nimport com.pulumi.datadog.TeamPermissionSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Team(\"foo\", TeamArgs.builder()\n .description(\"Example team\")\n .handle(\"example-team-updated\")\n .name(\"Example Team-updated\")\n .build());\n\n var fooTeamPermissionSetting = new TeamPermissionSetting(\"fooTeamPermissionSetting\", TeamPermissionSettingArgs.builder()\n .teamId(foo.id())\n .action(\"manage_membership\")\n .value(\"organization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: datadog:Team\n properties:\n description: Example team\n handle: example-team-updated\n name: Example Team-updated\n fooTeamPermissionSetting:\n type: datadog:TeamPermissionSetting\n name: foo\n properties:\n teamId: ${foo.id}\n action: manage_membership\n value: organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "action": { "type": "string", @@ -79227,7 +79227,7 @@ } }, "datadog:index/user:User": { - "description": "Provides a Datadog user resource. This can be used to create and manage Datadog users.\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// Source a role\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog user\nconst foo = new datadog.User(\"foo\", {\n email: \"new@example.com\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source a role\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog user\nfoo = datadog.User(\"foo\",\n email=\"new@example.com\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source a role\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog user\n var foo = new Datadog.User(\"foo\", new()\n {\n Email = \"new@example.com\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source a role\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog user\n\t\t_, err = datadog.NewUser(ctx, \"foo\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source a role\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n // Create a new Datadog user\n var foo = new User(\"foo\", UserArgs.builder() \n .email(\"new@example.com\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog user\n foo:\n type: datadog:User\n properties:\n email: new@example.com\n roles:\n - ${roRole.id}\nvariables:\n # Source a role\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/user:User example_user 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n", + "description": "Provides a Datadog user resource. This can be used to create and manage Datadog users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Source a role\nconst roRole = datadog.getRole({\n filter: \"Datadog Read Only Role\",\n});\n// Create a new Datadog user\nconst foo = new datadog.User(\"foo\", {\n email: \"new@example.com\",\n roles: [roRole.then(roRole =\u003e roRole.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Source a role\nro_role = datadog.get_role(filter=\"Datadog Read Only Role\")\n# Create a new Datadog user\nfoo = datadog.User(\"foo\",\n email=\"new@example.com\",\n roles=[ro_role.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Source a role\n var roRole = Datadog.GetRole.Invoke(new()\n {\n Filter = \"Datadog Read Only Role\",\n });\n\n // Create a new Datadog user\n var foo = new Datadog.User(\"foo\", new()\n {\n Email = \"new@example.com\",\n Roles = new[]\n {\n roRole.Apply(getRoleResult =\u003e getRoleResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Source a role\n\t\troRole, err := datadog.LookupRole(ctx, \u0026datadog.LookupRoleArgs{\n\t\t\tFilter: \"Datadog Read Only Role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Datadog user\n\t\t_, err = datadog.NewUser(ctx, \"foo\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(roRole.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetRoleArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Source a role\n final var roRole = DatadogFunctions.getRole(GetRoleArgs.builder()\n .filter(\"Datadog Read Only Role\")\n .build());\n\n // Create a new Datadog user\n var foo = new User(\"foo\", UserArgs.builder()\n .email(\"new@example.com\")\n .roles(roRole.applyValue(getRoleResult -\u003e getRoleResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog user\n foo:\n type: datadog:User\n properties:\n email: new@example.com\n roles:\n - ${roRole.id}\nvariables:\n # Source a role\n roRole:\n fn::invoke:\n Function: datadog:getRole\n Arguments:\n filter: Datadog Read Only Role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/user:User example_user 6f1b44c0-30b2-11eb-86bc-279f7c1ebaa4\n```\n\n", "properties": { "disabled": { "type": "boolean", @@ -79334,7 +79334,7 @@ } }, "datadog:index/userRole:UserRole": { - "description": "Provides a Datadog UserRole resource. This can be used to create and manage Datadog User Roles. Conflicts may occur if used together with the `datadog.User` resource's `roles` attribute. This resource is in beta and is subject to change.\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\nconst monitorWriterRole = new datadog.Role(\"monitor_writer_role\", {\n name: \"Monitor Writer Role\",\n permissions: [{\n id: bar.permissions.monitorsWrite,\n }],\n});\nconst newUser = new datadog.User(\"new_user\", {email: \"new@example.com\"});\n// Create new user_role resource\nconst newUserWithMonitorWriterRole = new datadog.UserRole(\"new_user_with_monitor_writer_role\", {\n roleId: monitorWriterRole.id,\n userId: newUser.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmonitor_writer_role = datadog.Role(\"monitor_writer_role\",\n name=\"Monitor Writer Role\",\n permissions=[datadog.RolePermissionArgs(\n id=bar[\"permissions\"][\"monitorsWrite\"],\n )])\nnew_user = datadog.User(\"new_user\", email=\"new@example.com\")\n# Create new user_role resource\nnew_user_with_monitor_writer_role = datadog.UserRole(\"new_user_with_monitor_writer_role\",\n role_id=monitor_writer_role.id,\n user_id=new_user.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitorWriterRole = new Datadog.Role(\"monitor_writer_role\", new()\n {\n Name = \"Monitor Writer Role\",\n Permissions = new[]\n {\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Permissions.MonitorsWrite,\n },\n },\n });\n\n var newUser = new Datadog.User(\"new_user\", new()\n {\n Email = \"new@example.com\",\n });\n\n // Create new user_role resource\n var newUserWithMonitorWriterRole = new Datadog.UserRole(\"new_user_with_monitor_writer_role\", new()\n {\n RoleId = monitorWriterRole.Id,\n UserId = newUser.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmonitorWriterRole, err := datadog.NewRole(ctx, \"monitor_writer_role\", \u0026datadog.RoleArgs{\n\t\t\tName: pulumi.String(\"Monitor Writer Role\"),\n\t\t\tPermissions: datadog.RolePermissionArray{\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: pulumi.Any(bar.Permissions.MonitorsWrite),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnewUser, err := datadog.NewUser(ctx, \"new_user\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new user_role resource\n\t\t_, err = datadog.NewUserRole(ctx, \"new_user_with_monitor_writer_role\", \u0026datadog.UserRoleArgs{\n\t\t\tRoleId: monitorWriterRole.ID(),\n\t\t\tUserId: newUser.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Role;\nimport com.pulumi.datadog.RoleArgs;\nimport com.pulumi.datadog.inputs.RolePermissionArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport com.pulumi.datadog.UserRole;\nimport com.pulumi.datadog.UserRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitorWriterRole = new Role(\"monitorWriterRole\", RoleArgs.builder() \n .name(\"Monitor Writer Role\")\n .permissions(RolePermissionArgs.builder()\n .id(bar.permissions().monitorsWrite())\n .build())\n .build());\n\n var newUser = new User(\"newUser\", UserArgs.builder() \n .email(\"new@example.com\")\n .build());\n\n // Create new user_role resource\n var newUserWithMonitorWriterRole = new UserRole(\"newUserWithMonitorWriterRole\", UserRoleArgs.builder() \n .roleId(monitorWriterRole.id())\n .userId(newUser.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitorWriterRole:\n type: datadog:Role\n name: monitor_writer_role\n properties:\n name: Monitor Writer Role\n permissions:\n - id: ${bar.permissions.monitorsWrite}\n newUser:\n type: datadog:User\n name: new_user\n properties:\n email: new@example.com\n # Create new user_role resource\n newUserWithMonitorWriterRole:\n type: datadog:UserRole\n name: new_user_with_monitor_writer_role\n properties:\n roleId: ${monitorWriterRole.id}\n userId: ${newUser.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource is imported using user_id and role_id seperated by `:`.\n\n```sh\n$ pulumi import datadog:index/userRole:UserRole user_with_admin_role \"${role_id}:${user_id}\"\n```\n\n", + "description": "Provides a Datadog UserRole resource. This can be used to create and manage Datadog User Roles. Conflicts may occur if used together with the `datadog.User` resource's `roles` attribute. This resource is in beta and is subject to change.\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\nconst monitorWriterRole = new datadog.Role(\"monitor_writer_role\", {\n name: \"Monitor Writer Role\",\n permissions: [{\n id: bar.permissions.monitorsWrite,\n }],\n});\nconst newUser = new datadog.User(\"new_user\", {email: \"new@example.com\"});\n// Create new user_role resource\nconst newUserWithMonitorWriterRole = new datadog.UserRole(\"new_user_with_monitor_writer_role\", {\n roleId: monitorWriterRole.id,\n userId: newUser.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nmonitor_writer_role = datadog.Role(\"monitor_writer_role\",\n name=\"Monitor Writer Role\",\n permissions=[datadog.RolePermissionArgs(\n id=bar[\"permissions\"][\"monitorsWrite\"],\n )])\nnew_user = datadog.User(\"new_user\", email=\"new@example.com\")\n# Create new user_role resource\nnew_user_with_monitor_writer_role = datadog.UserRole(\"new_user_with_monitor_writer_role\",\n role_id=monitor_writer_role.id,\n user_id=new_user.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitorWriterRole = new Datadog.Role(\"monitor_writer_role\", new()\n {\n Name = \"Monitor Writer Role\",\n Permissions = new[]\n {\n new Datadog.Inputs.RolePermissionArgs\n {\n Id = bar.Permissions.MonitorsWrite,\n },\n },\n });\n\n var newUser = new Datadog.User(\"new_user\", new()\n {\n Email = \"new@example.com\",\n });\n\n // Create new user_role resource\n var newUserWithMonitorWriterRole = new Datadog.UserRole(\"new_user_with_monitor_writer_role\", new()\n {\n RoleId = monitorWriterRole.Id,\n UserId = newUser.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmonitorWriterRole, err := datadog.NewRole(ctx, \"monitor_writer_role\", \u0026datadog.RoleArgs{\n\t\t\tName: pulumi.String(\"Monitor Writer Role\"),\n\t\t\tPermissions: datadog.RolePermissionArray{\n\t\t\t\t\u0026datadog.RolePermissionArgs{\n\t\t\t\t\tId: pulumi.Any(bar.Permissions.MonitorsWrite),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnewUser, err := datadog.NewUser(ctx, \"new_user\", \u0026datadog.UserArgs{\n\t\t\tEmail: pulumi.String(\"new@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create new user_role resource\n\t\t_, err = datadog.NewUserRole(ctx, \"new_user_with_monitor_writer_role\", \u0026datadog.UserRoleArgs{\n\t\t\tRoleId: monitorWriterRole.ID(),\n\t\t\tUserId: newUser.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Role;\nimport com.pulumi.datadog.RoleArgs;\nimport com.pulumi.datadog.inputs.RolePermissionArgs;\nimport com.pulumi.datadog.User;\nimport com.pulumi.datadog.UserArgs;\nimport com.pulumi.datadog.UserRole;\nimport com.pulumi.datadog.UserRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitorWriterRole = new Role(\"monitorWriterRole\", RoleArgs.builder()\n .name(\"Monitor Writer Role\")\n .permissions(RolePermissionArgs.builder()\n .id(bar.permissions().monitorsWrite())\n .build())\n .build());\n\n var newUser = new User(\"newUser\", UserArgs.builder()\n .email(\"new@example.com\")\n .build());\n\n // Create new user_role resource\n var newUserWithMonitorWriterRole = new UserRole(\"newUserWithMonitorWriterRole\", UserRoleArgs.builder()\n .roleId(monitorWriterRole.id())\n .userId(newUser.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitorWriterRole:\n type: datadog:Role\n name: monitor_writer_role\n properties:\n name: Monitor Writer Role\n permissions:\n - id: ${bar.permissions.monitorsWrite}\n newUser:\n type: datadog:User\n name: new_user\n properties:\n email: new@example.com\n # Create new user_role resource\n newUserWithMonitorWriterRole:\n type: datadog:UserRole\n name: new_user_with_monitor_writer_role\n properties:\n roleId: ${monitorWriterRole.id}\n userId: ${newUser.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource is imported using user_id and role_id seperated by `:`.\n\n```sh\n$ pulumi import datadog:index/userRole:UserRole user_with_admin_role \"${role_id}:${user_id}\"\n```\n\n", "properties": { "roleId": { "type": "string", @@ -79379,7 +79379,7 @@ } }, "datadog:index/webhook:Webhook": { - "description": "Provides a Datadog webhook resource. This can be used to create and manage Datadog webhooks.\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 webhook\nconst foo = new datadog.Webhook(\"foo\", {\n name: \"test-webhook\",\n url: \"example.com\",\n encodeAs: \"json\",\n customHeaders: JSON.stringify({\n custom: \"header\",\n }),\n payload: JSON.stringify({\n custom: \"payload\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Create a new Datadog webhook\nfoo = datadog.Webhook(\"foo\",\n name=\"test-webhook\",\n url=\"example.com\",\n encode_as=\"json\",\n custom_headers=json.dumps({\n \"custom\": \"header\",\n }),\n payload=json.dumps({\n \"custom\": \"payload\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog webhook\n var foo = new Datadog.Webhook(\"foo\", new()\n {\n Name = \"test-webhook\",\n Url = \"example.com\",\n EncodeAs = \"json\",\n CustomHeaders = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"header\",\n }),\n Payload = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"payload\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"header\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"payload\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// Create a new Datadog webhook\n\t\t_, err = datadog.NewWebhook(ctx, \"foo\", \u0026datadog.WebhookArgs{\n\t\t\tName: pulumi.String(\"test-webhook\"),\n\t\t\tUrl: pulumi.String(\"example.com\"),\n\t\t\tEncodeAs: pulumi.String(\"json\"),\n\t\t\tCustomHeaders: pulumi.String(json0),\n\t\t\tPayload: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Webhook;\nimport com.pulumi.datadog.WebhookArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog webhook\n var foo = new Webhook(\"foo\", WebhookArgs.builder() \n .name(\"test-webhook\")\n .url(\"example.com\")\n .encodeAs(\"json\")\n .customHeaders(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"header\")\n )))\n .payload(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"payload\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog webhook\n foo:\n type: datadog:Webhook\n properties:\n name: test-webhook\n url: example.com\n encodeAs: json\n customHeaders:\n fn::toJSON:\n custom: header\n payload:\n fn::toJSON:\n custom: payload\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/webhook:Webhook foo example-webhook\n```\n\n", + "description": "Provides a Datadog webhook resource. This can be used to create and manage Datadog webhooks.\n\n## 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 webhook\nconst foo = new datadog.Webhook(\"foo\", {\n name: \"test-webhook\",\n url: \"example.com\",\n encodeAs: \"json\",\n customHeaders: JSON.stringify({\n custom: \"header\",\n }),\n payload: JSON.stringify({\n custom: \"payload\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_datadog as datadog\n\n# Create a new Datadog webhook\nfoo = datadog.Webhook(\"foo\",\n name=\"test-webhook\",\n url=\"example.com\",\n encode_as=\"json\",\n custom_headers=json.dumps({\n \"custom\": \"header\",\n }),\n payload=json.dumps({\n \"custom\": \"payload\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog webhook\n var foo = new Datadog.Webhook(\"foo\", new()\n {\n Name = \"test-webhook\",\n Url = \"example.com\",\n EncodeAs = \"json\",\n CustomHeaders = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"header\",\n }),\n Payload = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"custom\"] = \"payload\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"header\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"custom\": \"payload\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// Create a new Datadog webhook\n\t\t_, err = datadog.NewWebhook(ctx, \"foo\", \u0026datadog.WebhookArgs{\n\t\t\tName: pulumi.String(\"test-webhook\"),\n\t\t\tUrl: pulumi.String(\"example.com\"),\n\t\t\tEncodeAs: pulumi.String(\"json\"),\n\t\t\tCustomHeaders: pulumi.String(json0),\n\t\t\tPayload: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.Webhook;\nimport com.pulumi.datadog.WebhookArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Datadog webhook\n var foo = new Webhook(\"foo\", WebhookArgs.builder()\n .name(\"test-webhook\")\n .url(\"example.com\")\n .encodeAs(\"json\")\n .customHeaders(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"header\")\n )))\n .payload(serializeJson(\n jsonObject(\n jsonProperty(\"custom\", \"payload\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog webhook\n foo:\n type: datadog:Webhook\n properties:\n name: test-webhook\n url: example.com\n encodeAs: json\n customHeaders:\n fn::toJSON:\n custom: header\n payload:\n fn::toJSON:\n custom: payload\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/webhook:Webhook foo example-webhook\n```\n\n", "properties": { "customHeaders": { "type": "string", @@ -79462,7 +79462,7 @@ } }, "datadog:index/webhookCustomVariable:WebhookCustomVariable": { - "description": "Provides a Datadog webhooks custom variable resource. This can be used to create and manage Datadog webhooks custom variables.\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 webhook custom variable.\nconst foo = new datadog.WebhookCustomVariable(\"foo\", {\n name: \"EXAMPLE_VARIABLE\",\n value: \"EXAMPLE-VALUE\",\n isSecret: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog webhook custom variable.\nfoo = datadog.WebhookCustomVariable(\"foo\",\n name=\"EXAMPLE_VARIABLE\",\n value=\"EXAMPLE-VALUE\",\n is_secret=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog webhook custom variable.\n var foo = new Datadog.WebhookCustomVariable(\"foo\", new()\n {\n Name = \"EXAMPLE_VARIABLE\",\n Value = \"EXAMPLE-VALUE\",\n IsSecret = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog webhook custom variable.\n\t\t_, err := datadog.NewWebhookCustomVariable(ctx, \"foo\", \u0026datadog.WebhookCustomVariableArgs{\n\t\t\tName: pulumi.String(\"EXAMPLE_VARIABLE\"),\n\t\t\tValue: pulumi.String(\"EXAMPLE-VALUE\"),\n\t\t\tIsSecret: pulumi.Bool(true),\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.WebhookCustomVariable;\nimport com.pulumi.datadog.WebhookCustomVariableArgs;\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 webhook custom variable.\n var foo = new WebhookCustomVariable(\"foo\", WebhookCustomVariableArgs.builder() \n .name(\"EXAMPLE_VARIABLE\")\n .value(\"EXAMPLE-VALUE\")\n .isSecret(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog webhook custom variable.\n foo:\n type: datadog:WebhookCustomVariable\n properties:\n name: EXAMPLE_VARIABLE\n value: EXAMPLE-VALUE\n isSecret: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/webhookCustomVariable:WebhookCustomVariable foo EXAMPLE_VARIABLE\n```\n\n", + "description": "Provides a Datadog webhooks custom variable resource. This can be used to create and manage Datadog webhooks custom variables.\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 webhook custom variable.\nconst foo = new datadog.WebhookCustomVariable(\"foo\", {\n name: \"EXAMPLE_VARIABLE\",\n value: \"EXAMPLE-VALUE\",\n isSecret: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Create a new Datadog webhook custom variable.\nfoo = datadog.WebhookCustomVariable(\"foo\",\n name=\"EXAMPLE_VARIABLE\",\n value=\"EXAMPLE-VALUE\",\n is_secret=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Datadog webhook custom variable.\n var foo = new Datadog.WebhookCustomVariable(\"foo\", new()\n {\n Name = \"EXAMPLE_VARIABLE\",\n Value = \"EXAMPLE-VALUE\",\n IsSecret = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Datadog webhook custom variable.\n\t\t_, err := datadog.NewWebhookCustomVariable(ctx, \"foo\", \u0026datadog.WebhookCustomVariableArgs{\n\t\t\tName: pulumi.String(\"EXAMPLE_VARIABLE\"),\n\t\t\tValue: pulumi.String(\"EXAMPLE-VALUE\"),\n\t\t\tIsSecret: pulumi.Bool(true),\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.WebhookCustomVariable;\nimport com.pulumi.datadog.WebhookCustomVariableArgs;\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 webhook custom variable.\n var foo = new WebhookCustomVariable(\"foo\", WebhookCustomVariableArgs.builder()\n .name(\"EXAMPLE_VARIABLE\")\n .value(\"EXAMPLE-VALUE\")\n .isSecret(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Datadog webhook custom variable.\n foo:\n type: datadog:WebhookCustomVariable\n properties:\n name: EXAMPLE_VARIABLE\n value: EXAMPLE-VALUE\n isSecret: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/webhookCustomVariable:WebhookCustomVariable foo EXAMPLE_VARIABLE\n```\n\n", "properties": { "isSecret": { "type": "boolean", @@ -79524,7 +79524,7 @@ } }, "datadog:opsgenie/serviceObject:ServiceObject": { - "description": "Resource for interacting with Datadog Opsgenie Service API.\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\nconst fakeServiceName = new datadog.opsgenie.ServiceObject(\"fake_service_name\", {\n name: \"fake_service_name\",\n opsgenieApiKey: \"00000000-0000-0000-0000-000000000000\",\n region: \"us\",\n});\nconst fakeServiceName2 = new datadog.opsgenie.ServiceObject(\"fake_service_name_2\", {\n name: \"fake_service_name_2\",\n opsgenieApiKey: \"11111111-1111-1111-1111-111111111111\",\n region: \"eu\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfake_service_name = datadog.opsgenie.ServiceObject(\"fake_service_name\",\n name=\"fake_service_name\",\n opsgenie_api_key=\"00000000-0000-0000-0000-000000000000\",\n region=\"us\")\nfake_service_name2 = datadog.opsgenie.ServiceObject(\"fake_service_name_2\",\n name=\"fake_service_name_2\",\n opsgenie_api_key=\"11111111-1111-1111-1111-111111111111\",\n region=\"eu\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fakeServiceName = new Datadog.OpsGenie.ServiceObject(\"fake_service_name\", new()\n {\n Name = \"fake_service_name\",\n OpsgenieApiKey = \"00000000-0000-0000-0000-000000000000\",\n Region = \"us\",\n });\n\n var fakeServiceName2 = new Datadog.OpsGenie.ServiceObject(\"fake_service_name_2\", new()\n {\n Name = \"fake_service_name_2\",\n OpsgenieApiKey = \"11111111-1111-1111-1111-111111111111\",\n Region = \"eu\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/opsgenie\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsgenie.NewServiceObject(ctx, \"fake_service_name\", \u0026opsgenie.ServiceObjectArgs{\n\t\t\tName: pulumi.String(\"fake_service_name\"),\n\t\t\tOpsgenieApiKey: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tRegion: pulumi.String(\"us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opsgenie.NewServiceObject(ctx, \"fake_service_name_2\", \u0026opsgenie.ServiceObjectArgs{\n\t\t\tName: pulumi.String(\"fake_service_name_2\"),\n\t\t\tOpsgenieApiKey: pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tRegion: pulumi.String(\"eu\"),\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.opsgenie.ServiceObject;\nimport com.pulumi.datadog.opsgenie.ServiceObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fakeServiceName = new ServiceObject(\"fakeServiceName\", ServiceObjectArgs.builder() \n .name(\"fake_service_name\")\n .opsgenieApiKey(\"00000000-0000-0000-0000-000000000000\")\n .region(\"us\")\n .build());\n\n var fakeServiceName2 = new ServiceObject(\"fakeServiceName2\", ServiceObjectArgs.builder() \n .name(\"fake_service_name_2\")\n .opsgenieApiKey(\"11111111-1111-1111-1111-111111111111\")\n .region(\"eu\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fakeServiceName:\n type: datadog:opsgenie:ServiceObject\n name: fake_service_name\n properties:\n name: fake_service_name\n opsgenieApiKey: 00000000-0000-0000-0000-000000000000\n region: us\n fakeServiceName2:\n type: datadog:opsgenie:ServiceObject\n name: fake_service_name_2\n properties:\n name: fake_service_name_2\n opsgenieApiKey: 11111111-1111-1111-1111-111111111111\n region: eu\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Resource for interacting with Datadog Opsgenie Service API.\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\nconst fakeServiceName = new datadog.opsgenie.ServiceObject(\"fake_service_name\", {\n name: \"fake_service_name\",\n opsgenieApiKey: \"00000000-0000-0000-0000-000000000000\",\n region: \"us\",\n});\nconst fakeServiceName2 = new datadog.opsgenie.ServiceObject(\"fake_service_name_2\", {\n name: \"fake_service_name_2\",\n opsgenieApiKey: \"11111111-1111-1111-1111-111111111111\",\n region: \"eu\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfake_service_name = datadog.opsgenie.ServiceObject(\"fake_service_name\",\n name=\"fake_service_name\",\n opsgenie_api_key=\"00000000-0000-0000-0000-000000000000\",\n region=\"us\")\nfake_service_name2 = datadog.opsgenie.ServiceObject(\"fake_service_name_2\",\n name=\"fake_service_name_2\",\n opsgenie_api_key=\"11111111-1111-1111-1111-111111111111\",\n region=\"eu\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fakeServiceName = new Datadog.OpsGenie.ServiceObject(\"fake_service_name\", new()\n {\n Name = \"fake_service_name\",\n OpsgenieApiKey = \"00000000-0000-0000-0000-000000000000\",\n Region = \"us\",\n });\n\n var fakeServiceName2 = new Datadog.OpsGenie.ServiceObject(\"fake_service_name_2\", new()\n {\n Name = \"fake_service_name_2\",\n OpsgenieApiKey = \"11111111-1111-1111-1111-111111111111\",\n Region = \"eu\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/opsgenie\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opsgenie.NewServiceObject(ctx, \"fake_service_name\", \u0026opsgenie.ServiceObjectArgs{\n\t\t\tName: pulumi.String(\"fake_service_name\"),\n\t\t\tOpsgenieApiKey: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tRegion: pulumi.String(\"us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opsgenie.NewServiceObject(ctx, \"fake_service_name_2\", \u0026opsgenie.ServiceObjectArgs{\n\t\t\tName: pulumi.String(\"fake_service_name_2\"),\n\t\t\tOpsgenieApiKey: pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tRegion: pulumi.String(\"eu\"),\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.opsgenie.ServiceObject;\nimport com.pulumi.datadog.opsgenie.ServiceObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fakeServiceName = new ServiceObject(\"fakeServiceName\", ServiceObjectArgs.builder()\n .name(\"fake_service_name\")\n .opsgenieApiKey(\"00000000-0000-0000-0000-000000000000\")\n .region(\"us\")\n .build());\n\n var fakeServiceName2 = new ServiceObject(\"fakeServiceName2\", ServiceObjectArgs.builder()\n .name(\"fake_service_name_2\")\n .opsgenieApiKey(\"11111111-1111-1111-1111-111111111111\")\n .region(\"eu\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fakeServiceName:\n type: datadog:opsgenie:ServiceObject\n name: fake_service_name\n properties:\n name: fake_service_name\n opsgenieApiKey: 00000000-0000-0000-0000-000000000000\n region: us\n fakeServiceName2:\n type: datadog:opsgenie:ServiceObject\n name: fake_service_name_2\n properties:\n name: fake_service_name_2\n opsgenieApiKey: 11111111-1111-1111-1111-111111111111\n region: eu\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "customUrl": { "type": "string", @@ -79598,7 +79598,7 @@ } }, "datadog:pagerduty/integration:Integration": { - "description": "Provides a Datadog - PagerDuty resource. This can be used to create and manage Datadog - PagerDuty integration. See also [PagerDuty Integration Guide](https://www.pagerduty.com/docs/guides/datadog-integration-guide/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n// Services as Individual Resources\nconst pd = new datadog.pagerduty.Integration(\"pd\", {\n schedules: [\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain: \"ddog\",\n apiToken: \"38457822378273432587234242874\",\n});\nconst testingFoo = new datadog.pagerduty.ServiceObject(\"testing_foo\", {\n serviceName: \"testing_foo\",\n serviceKey: \"9876543210123456789\",\n}, {\n dependsOn: [pd],\n});\nconst testingBar = new datadog.pagerduty.ServiceObject(\"testing_bar\", {\n serviceName: \"testing_bar\",\n serviceKey: \"54321098765432109876\",\n}, {\n dependsOn: [pd],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n# Services as Individual Resources\npd = datadog.pagerduty.Integration(\"pd\",\n schedules=[\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain=\"ddog\",\n api_token=\"38457822378273432587234242874\")\ntesting_foo = datadog.pagerduty.ServiceObject(\"testing_foo\",\n service_name=\"testing_foo\",\n service_key=\"9876543210123456789\",\n opts=pulumi.ResourceOptions(depends_on=[pd]))\ntesting_bar = datadog.pagerduty.ServiceObject(\"testing_bar\",\n service_name=\"testing_bar\",\n service_key=\"54321098765432109876\",\n opts=pulumi.ResourceOptions(depends_on=[pd]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n // Services as Individual Resources\n var pd = new Datadog.PagerDuty.Integration(\"pd\", new()\n {\n Schedules = new[]\n {\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n },\n Subdomain = \"ddog\",\n ApiToken = \"38457822378273432587234242874\",\n });\n\n var testingFoo = new Datadog.PagerDuty.ServiceObject(\"testing_foo\", new()\n {\n ServiceName = \"testing_foo\",\n ServiceKey = \"9876543210123456789\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pd,\n },\n });\n\n var testingBar = new Datadog.PagerDuty.ServiceObject(\"testing_bar\", new()\n {\n ServiceName = \"testing_bar\",\n ServiceKey = \"54321098765432109876\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pd,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n\t\t// Services as Individual Resources\n\t\tpd, err := pagerduty.NewIntegration(ctx, \"pd\", \u0026pagerduty.IntegrationArgs{\n\t\t\tSchedules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X123VF\"),\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X321XX\"),\n\t\t\t},\n\t\t\tSubdomain: pulumi.String(\"ddog\"),\n\t\t\tApiToken: pulumi.String(\"38457822378273432587234242874\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testing_foo\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_foo\"),\n\t\t\tServiceKey: pulumi.String(\"9876543210123456789\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpd,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testing_bar\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_bar\"),\n\t\t\tServiceKey: pulumi.String(\"54321098765432109876\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpd,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.pagerduty.Integration;\nimport com.pulumi.datadog.pagerduty.IntegrationArgs;\nimport com.pulumi.datadog.pagerduty.ServiceObject;\nimport com.pulumi.datadog.pagerduty.ServiceObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n // Services as Individual Resources\n var pd = new Integration(\"pd\", IntegrationArgs.builder() \n .schedules( \n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\")\n .subdomain(\"ddog\")\n .apiToken(\"38457822378273432587234242874\")\n .build());\n\n var testingFoo = new ServiceObject(\"testingFoo\", ServiceObjectArgs.builder() \n .serviceName(\"testing_foo\")\n .serviceKey(\"9876543210123456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(pd)\n .build());\n\n var testingBar = new ServiceObject(\"testingBar\", ServiceObjectArgs.builder() \n .serviceName(\"testing_bar\")\n .serviceKey(\"54321098765432109876\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(pd)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n\n # Services as Individual Resources\n pd:\n type: datadog:pagerduty:Integration\n properties:\n schedules:\n - https://ddog.pagerduty.com/schedules/X123VF\n - https://ddog.pagerduty.com/schedules/X321XX\n subdomain: ddog\n apiToken: '38457822378273432587234242874'\n testingFoo:\n type: datadog:pagerduty:ServiceObject\n name: testing_foo\n properties:\n serviceName: testing_foo\n serviceKey: '9876543210123456789'\n options:\n dependson:\n - ${pd}\n testingBar:\n type: datadog:pagerduty:ServiceObject\n name: testing_bar\n properties:\n serviceName: testing_bar\n serviceKey: '54321098765432109876'\n options:\n dependson:\n - ${pd}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Datadog - PagerDuty resource. This can be used to create and manage Datadog - PagerDuty integration. See also [PagerDuty Integration Guide](https://www.pagerduty.com/docs/guides/datadog-integration-guide/).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\n// Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n// Services as Individual Resources\nconst pd = new datadog.pagerduty.Integration(\"pd\", {\n schedules: [\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain: \"ddog\",\n apiToken: \"38457822378273432587234242874\",\n});\nconst testingFoo = new datadog.pagerduty.ServiceObject(\"testing_foo\", {\n serviceName: \"testing_foo\",\n serviceKey: \"9876543210123456789\",\n}, {\n dependsOn: [pd],\n});\nconst testingBar = new datadog.pagerduty.ServiceObject(\"testing_bar\", {\n serviceName: \"testing_bar\",\n serviceKey: \"54321098765432109876\",\n}, {\n dependsOn: [pd],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\n# Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n# Services as Individual Resources\npd = datadog.pagerduty.Integration(\"pd\",\n schedules=[\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n ],\n subdomain=\"ddog\",\n api_token=\"38457822378273432587234242874\")\ntesting_foo = datadog.pagerduty.ServiceObject(\"testing_foo\",\n service_name=\"testing_foo\",\n service_key=\"9876543210123456789\",\n opts=pulumi.ResourceOptions(depends_on=[pd]))\ntesting_bar = datadog.pagerduty.ServiceObject(\"testing_bar\",\n service_name=\"testing_bar\",\n service_key=\"54321098765432109876\",\n opts=pulumi.ResourceOptions(depends_on=[pd]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n // Services as Individual Resources\n var pd = new Datadog.PagerDuty.Integration(\"pd\", new()\n {\n Schedules = new[]\n {\n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\",\n },\n Subdomain = \"ddog\",\n ApiToken = \"38457822378273432587234242874\",\n });\n\n var testingFoo = new Datadog.PagerDuty.ServiceObject(\"testing_foo\", new()\n {\n ServiceName = \"testing_foo\",\n ServiceKey = \"9876543210123456789\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pd,\n },\n });\n\n var testingBar = new Datadog.PagerDuty.ServiceObject(\"testing_bar\", new()\n {\n ServiceName = \"testing_bar\",\n ServiceKey = \"54321098765432109876\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pd,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n\t\t// Services as Individual Resources\n\t\tpd, err := pagerduty.NewIntegration(ctx, \"pd\", \u0026pagerduty.IntegrationArgs{\n\t\t\tSchedules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X123VF\"),\n\t\t\t\tpulumi.String(\"https://ddog.pagerduty.com/schedules/X321XX\"),\n\t\t\t},\n\t\t\tSubdomain: pulumi.String(\"ddog\"),\n\t\t\tApiToken: pulumi.String(\"38457822378273432587234242874\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testing_foo\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_foo\"),\n\t\t\tServiceKey: pulumi.String(\"9876543210123456789\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpd,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testing_bar\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_bar\"),\n\t\t\tServiceKey: pulumi.String(\"54321098765432109876\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpd,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.pagerduty.Integration;\nimport com.pulumi.datadog.pagerduty.IntegrationArgs;\nimport com.pulumi.datadog.pagerduty.ServiceObject;\nimport com.pulumi.datadog.pagerduty.ServiceObjectArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n // Services as Individual Resources\n var pd = new Integration(\"pd\", IntegrationArgs.builder()\n .schedules( \n \"https://ddog.pagerduty.com/schedules/X123VF\",\n \"https://ddog.pagerduty.com/schedules/X321XX\")\n .subdomain(\"ddog\")\n .apiToken(\"38457822378273432587234242874\")\n .build());\n\n var testingFoo = new ServiceObject(\"testingFoo\", ServiceObjectArgs.builder()\n .serviceName(\"testing_foo\")\n .serviceKey(\"9876543210123456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(pd)\n .build());\n\n var testingBar = new ServiceObject(\"testingBar\", ServiceObjectArgs.builder()\n .serviceName(\"testing_bar\")\n .serviceKey(\"54321098765432109876\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(pd)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object.\n\n # Services as Individual Resources\n pd:\n type: datadog:pagerduty:Integration\n properties:\n schedules:\n - https://ddog.pagerduty.com/schedules/X123VF\n - https://ddog.pagerduty.com/schedules/X321XX\n subdomain: ddog\n apiToken: '38457822378273432587234242874'\n testingFoo:\n type: datadog:pagerduty:ServiceObject\n name: testing_foo\n properties:\n serviceName: testing_foo\n serviceKey: '9876543210123456789'\n options:\n dependson:\n - ${pd}\n testingBar:\n type: datadog:pagerduty:ServiceObject\n name: testing_bar\n properties:\n serviceName: testing_bar\n serviceKey: '54321098765432109876'\n options:\n dependson:\n - ${pd}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "apiToken": { "type": "string", @@ -79665,7 +79665,7 @@ } }, "datadog:pagerduty/serviceObject:ServiceObject": { - "description": "Provides access to individual Service Objects of Datadog - PagerDuty integrations. Note that the Datadog - PagerDuty integration must be activated in the Datadog UI in order for this resource to be usable.\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\nconst testingFoo = new datadog.pagerduty.ServiceObject(\"testing_foo\", {\n serviceName: \"testing_foo\",\n serviceKey: \"9876543210123456789\",\n});\nconst testingBar = new datadog.pagerduty.ServiceObject(\"testing_bar\", {\n serviceName: \"testing_bar\",\n serviceKey: \"54321098765432109876\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntesting_foo = datadog.pagerduty.ServiceObject(\"testing_foo\",\n service_name=\"testing_foo\",\n service_key=\"9876543210123456789\")\ntesting_bar = datadog.pagerduty.ServiceObject(\"testing_bar\",\n service_name=\"testing_bar\",\n service_key=\"54321098765432109876\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testingFoo = new Datadog.PagerDuty.ServiceObject(\"testing_foo\", new()\n {\n ServiceName = \"testing_foo\",\n ServiceKey = \"9876543210123456789\",\n });\n\n var testingBar = new Datadog.PagerDuty.ServiceObject(\"testing_bar\", new()\n {\n ServiceName = \"testing_bar\",\n ServiceKey = \"54321098765432109876\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pagerduty.NewServiceObject(ctx, \"testing_foo\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_foo\"),\n\t\t\tServiceKey: pulumi.String(\"9876543210123456789\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testing_bar\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_bar\"),\n\t\t\tServiceKey: pulumi.String(\"54321098765432109876\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.pagerduty.ServiceObject;\nimport com.pulumi.datadog.pagerduty.ServiceObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testingFoo = new ServiceObject(\"testingFoo\", ServiceObjectArgs.builder() \n .serviceName(\"testing_foo\")\n .serviceKey(\"9876543210123456789\")\n .build());\n\n var testingBar = new ServiceObject(\"testingBar\", ServiceObjectArgs.builder() \n .serviceName(\"testing_bar\")\n .serviceKey(\"54321098765432109876\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testingFoo:\n type: datadog:pagerduty:ServiceObject\n name: testing_foo\n properties:\n serviceName: testing_foo\n serviceKey: '9876543210123456789'\n testingBar:\n type: datadog:pagerduty:ServiceObject\n name: testing_bar\n properties:\n serviceName: testing_bar\n serviceKey: '54321098765432109876'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPagerduty service object can be imported using the service_name, while the service_key should be passed by setting the environment variable SERVICE_KEY\n\n```sh\n$ pulumi import datadog:pagerduty/serviceObject:ServiceObject SERVICE_KEY=${service_key} datadog_integration_pagerduty_service_object.foo ${service_name}\n```\n\n", + "description": "Provides access to individual Service Objects of Datadog - PagerDuty integrations. Note that the Datadog - PagerDuty integration must be activated in the Datadog UI in order for this resource to be usable.\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\nconst testingFoo = new datadog.pagerduty.ServiceObject(\"testing_foo\", {\n serviceName: \"testing_foo\",\n serviceKey: \"9876543210123456789\",\n});\nconst testingBar = new datadog.pagerduty.ServiceObject(\"testing_bar\", {\n serviceName: \"testing_bar\",\n serviceKey: \"54321098765432109876\",\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntesting_foo = datadog.pagerduty.ServiceObject(\"testing_foo\",\n service_name=\"testing_foo\",\n service_key=\"9876543210123456789\")\ntesting_bar = datadog.pagerduty.ServiceObject(\"testing_bar\",\n service_name=\"testing_bar\",\n service_key=\"54321098765432109876\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testingFoo = new Datadog.PagerDuty.ServiceObject(\"testing_foo\", new()\n {\n ServiceName = \"testing_foo\",\n ServiceKey = \"9876543210123456789\",\n });\n\n var testingBar = new Datadog.PagerDuty.ServiceObject(\"testing_bar\", new()\n {\n ServiceName = \"testing_bar\",\n ServiceKey = \"54321098765432109876\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/pagerduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pagerduty.NewServiceObject(ctx, \"testing_foo\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_foo\"),\n\t\t\tServiceKey: pulumi.String(\"9876543210123456789\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pagerduty.NewServiceObject(ctx, \"testing_bar\", \u0026pagerduty.ServiceObjectArgs{\n\t\t\tServiceName: pulumi.String(\"testing_bar\"),\n\t\t\tServiceKey: pulumi.String(\"54321098765432109876\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.pagerduty.ServiceObject;\nimport com.pulumi.datadog.pagerduty.ServiceObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testingFoo = new ServiceObject(\"testingFoo\", ServiceObjectArgs.builder()\n .serviceName(\"testing_foo\")\n .serviceKey(\"9876543210123456789\")\n .build());\n\n var testingBar = new ServiceObject(\"testingBar\", ServiceObjectArgs.builder()\n .serviceName(\"testing_bar\")\n .serviceKey(\"54321098765432109876\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testingFoo:\n type: datadog:pagerduty:ServiceObject\n name: testing_foo\n properties:\n serviceName: testing_foo\n serviceKey: '9876543210123456789'\n testingBar:\n type: datadog:pagerduty:ServiceObject\n name: testing_bar\n properties:\n serviceName: testing_bar\n serviceKey: '54321098765432109876'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPagerduty service object can be imported using the service_name, while the service_key should be passed by setting the environment variable SERVICE_KEY\n\n```sh\n$ pulumi import datadog:pagerduty/serviceObject:ServiceObject SERVICE_KEY=${service_key} datadog_integration_pagerduty_service_object.foo ${service_name}\n```\n\n", "properties": { "serviceKey": { "type": "string", @@ -79715,7 +79715,7 @@ } }, "datadog:slack/channel:Channel": { - "description": "Resource for interacting with the Datadog Slack channel API\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\nconst testChannel = new datadog.slack.Channel(\"test_channel\", {\n accountName: \"foo\",\n channelName: \"#test_channel\",\n display: {\n message: true,\n notified: false,\n snapshot: false,\n tags: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest_channel = datadog.slack.Channel(\"test_channel\",\n account_name=\"foo\",\n channel_name=\"#test_channel\",\n display=datadog.slack.ChannelDisplayArgs(\n message=True,\n notified=False,\n snapshot=False,\n tags=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testChannel = new Datadog.Slack.Channel(\"test_channel\", new()\n {\n AccountName = \"foo\",\n ChannelName = \"#test_channel\",\n Display = new Datadog.Slack.Inputs.ChannelDisplayArgs\n {\n Message = true,\n Notified = false,\n Snapshot = false,\n Tags = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/slack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := slack.NewChannel(ctx, \"test_channel\", \u0026slack.ChannelArgs{\n\t\t\tAccountName: pulumi.String(\"foo\"),\n\t\t\tChannelName: pulumi.String(\"#test_channel\"),\n\t\t\tDisplay: \u0026slack.ChannelDisplayArgs{\n\t\t\t\tMessage: pulumi.Bool(true),\n\t\t\t\tNotified: pulumi.Bool(false),\n\t\t\t\tSnapshot: pulumi.Bool(false),\n\t\t\t\tTags: 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\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.slack.Channel;\nimport com.pulumi.datadog.slack.ChannelArgs;\nimport com.pulumi.datadog.slack.inputs.ChannelDisplayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testChannel = new Channel(\"testChannel\", ChannelArgs.builder() \n .accountName(\"foo\")\n .channelName(\"#test_channel\")\n .display(ChannelDisplayArgs.builder()\n .message(true)\n .notified(false)\n .snapshot(false)\n .tags(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testChannel:\n type: datadog:slack:Channel\n name: test_channel\n properties:\n accountName: foo\n channelName: '#test_channel'\n display:\n message: true\n notified: false\n snapshot: false\n tags: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSlack channel integrations can be imported using their account_name and channel_name separated with a colon (`:`).\n\n```sh\n$ pulumi import datadog:slack/channel:Channel test_channel \"foo:#test_channel\"\n```\n\n", + "description": "Resource for interacting with the Datadog Slack channel API\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\nconst testChannel = new datadog.slack.Channel(\"test_channel\", {\n accountName: \"foo\",\n channelName: \"#test_channel\",\n display: {\n message: true,\n notified: false,\n snapshot: false,\n tags: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest_channel = datadog.slack.Channel(\"test_channel\",\n account_name=\"foo\",\n channel_name=\"#test_channel\",\n display=datadog.slack.ChannelDisplayArgs(\n message=True,\n notified=False,\n snapshot=False,\n tags=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testChannel = new Datadog.Slack.Channel(\"test_channel\", new()\n {\n AccountName = \"foo\",\n ChannelName = \"#test_channel\",\n Display = new Datadog.Slack.Inputs.ChannelDisplayArgs\n {\n Message = true,\n Notified = false,\n Snapshot = false,\n Tags = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/slack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := slack.NewChannel(ctx, \"test_channel\", \u0026slack.ChannelArgs{\n\t\t\tAccountName: pulumi.String(\"foo\"),\n\t\t\tChannelName: pulumi.String(\"#test_channel\"),\n\t\t\tDisplay: \u0026slack.ChannelDisplayArgs{\n\t\t\t\tMessage: pulumi.Bool(true),\n\t\t\t\tNotified: pulumi.Bool(false),\n\t\t\t\tSnapshot: pulumi.Bool(false),\n\t\t\t\tTags: 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\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.slack.Channel;\nimport com.pulumi.datadog.slack.ChannelArgs;\nimport com.pulumi.datadog.slack.inputs.ChannelDisplayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testChannel = new Channel(\"testChannel\", ChannelArgs.builder()\n .accountName(\"foo\")\n .channelName(\"#test_channel\")\n .display(ChannelDisplayArgs.builder()\n .message(true)\n .notified(false)\n .snapshot(false)\n .tags(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testChannel:\n type: datadog:slack:Channel\n name: test_channel\n properties:\n accountName: foo\n channelName: '#test_channel'\n display:\n message: true\n notified: false\n snapshot: false\n tags: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSlack channel integrations can be imported using their account_name and channel_name separated with a colon (`:`).\n\n```sh\n$ pulumi import datadog:slack/channel:Channel test_channel \"foo:#test_channel\"\n```\n\n", "properties": { "accountName": { "type": "string", @@ -80044,7 +80044,7 @@ } }, "datadog:index/getDashboardList:getDashboardList": { - "description": "Use this data source to retrieve information about an existing dashboard list, for use in other resources. In particular, it can be used in a dashboard to register it in the list.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst test = datadog.getDashboardList({\n name: \"My super list\",\n});\n// Create a dashboard and register it in the list above.\nconst time = new datadog.Dashboard(\"time\", {\n title: \"TF Test Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n dashboardLists: [test.then(test =\u003e test.id)],\n layoutType: \"ordered\",\n isReadOnly: true,\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest = datadog.get_dashboard_list(name=\"My super list\")\n# Create a dashboard and register it in the list above.\ntime = datadog.Dashboard(\"time\",\n title=\"TF Test Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n dashboard_lists=[test.id],\n layout_type=\"ordered\",\n is_read_only=True,\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Datadog.GetDashboardList.Invoke(new()\n {\n Name = \"My super list\",\n });\n\n // Create a dashboard and register it in the list above.\n var time = new Datadog.Dashboard(\"time\", new()\n {\n Title = \"TF Test Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n DashboardLists = new[]\n {\n test.Apply(getDashboardListResult =\u003e getDashboardListResult.Id),\n },\n LayoutType = \"ordered\",\n IsReadOnly = true,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := datadog.LookupDashboardList(ctx, \u0026datadog.LookupDashboardListArgs{\n\t\t\tName: \"My super list\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a dashboard and register it in the list above.\n\t\t_, err = datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tDashboardLists: pulumi.IntArray{\n\t\t\t\tpulumi.String(test.Id),\n\t\t\t},\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetDashboardListArgs;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DatadogFunctions.getDashboardList(GetDashboardListArgs.builder()\n .name(\"My super list\")\n .build());\n\n // Create a dashboard and register it in the list above.\n var time = new Dashboard(\"time\", DashboardArgs.builder() \n .title(\"TF Test Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .dashboardLists(test.applyValue(getDashboardListResult -\u003e getDashboardListResult.id()))\n .layoutType(\"ordered\")\n .isReadOnly(true)\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a dashboard and register it in the list above.\n time:\n type: datadog:Dashboard\n properties:\n title: TF Test Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n dashboardLists:\n - ${test.id}\n layoutType: ordered\n isReadOnly: true\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\nvariables:\n test:\n fn::invoke:\n Function: datadog:getDashboardList\n Arguments:\n name: My super list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about an existing dashboard list, for use in other resources. In particular, it can be used in a dashboard to register it in the list.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as datadog from \"@pulumi/datadog\";\n\nconst test = datadog.getDashboardList({\n name: \"My super list\",\n});\n// Create a dashboard and register it in the list above.\nconst time = new datadog.Dashboard(\"time\", {\n title: \"TF Test Layout Dashboard\",\n description: \"Created using the Datadog provider in Pulumi\",\n dashboardLists: [test.then(test =\u003e test.id)],\n layoutType: \"ordered\",\n isReadOnly: true,\n widgets: [{\n alertGraphDefinition: {\n alertId: \"1234\",\n vizType: \"timeseries\",\n title: \"Widget Title\",\n liveSpan: \"1h\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\ntest = datadog.get_dashboard_list(name=\"My super list\")\n# Create a dashboard and register it in the list above.\ntime = datadog.Dashboard(\"time\",\n title=\"TF Test Layout Dashboard\",\n description=\"Created using the Datadog provider in Pulumi\",\n dashboard_lists=[test.id],\n layout_type=\"ordered\",\n is_read_only=True,\n widgets=[datadog.DashboardWidgetArgs(\n alert_graph_definition=datadog.DashboardWidgetAlertGraphDefinitionArgs(\n alert_id=\"1234\",\n viz_type=\"timeseries\",\n title=\"Widget Title\",\n live_span=\"1h\",\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Datadog.GetDashboardList.Invoke(new()\n {\n Name = \"My super list\",\n });\n\n // Create a dashboard and register it in the list above.\n var time = new Datadog.Dashboard(\"time\", new()\n {\n Title = \"TF Test Layout Dashboard\",\n Description = \"Created using the Datadog provider in Pulumi\",\n DashboardLists = new[]\n {\n test.Apply(getDashboardListResult =\u003e getDashboardListResult.Id),\n },\n LayoutType = \"ordered\",\n IsReadOnly = true,\n Widgets = new[]\n {\n new Datadog.Inputs.DashboardWidgetArgs\n {\n AlertGraphDefinition = new Datadog.Inputs.DashboardWidgetAlertGraphDefinitionArgs\n {\n AlertId = \"1234\",\n VizType = \"timeseries\",\n Title = \"Widget Title\",\n LiveSpan = \"1h\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := datadog.LookupDashboardList(ctx, \u0026datadog.LookupDashboardListArgs{\n\t\t\tName: \"My super list\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a dashboard and register it in the list above.\n\t\t_, err = datadog.NewDashboard(ctx, \"time\", \u0026datadog.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"TF Test Layout Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Created using the Datadog provider in Pulumi\"),\n\t\t\tDashboardLists: pulumi.IntArray{\n\t\t\t\tpulumi.String(test.Id),\n\t\t\t},\n\t\t\tLayoutType: pulumi.String(\"ordered\"),\n\t\t\tIsReadOnly: pulumi.Bool(true),\n\t\t\tWidgets: datadog.DashboardWidgetArray{\n\t\t\t\t\u0026datadog.DashboardWidgetArgs{\n\t\t\t\t\tAlertGraphDefinition: \u0026datadog.DashboardWidgetAlertGraphDefinitionArgs{\n\t\t\t\t\t\tAlertId: pulumi.String(\"1234\"),\n\t\t\t\t\t\tVizType: pulumi.String(\"timeseries\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Widget Title\"),\n\t\t\t\t\t\tLiveSpan: pulumi.String(\"1h\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.inputs.GetDashboardListArgs;\nimport com.pulumi.datadog.Dashboard;\nimport com.pulumi.datadog.DashboardArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetArgs;\nimport com.pulumi.datadog.inputs.DashboardWidgetAlertGraphDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DatadogFunctions.getDashboardList(GetDashboardListArgs.builder()\n .name(\"My super list\")\n .build());\n\n // Create a dashboard and register it in the list above.\n var time = new Dashboard(\"time\", DashboardArgs.builder()\n .title(\"TF Test Layout Dashboard\")\n .description(\"Created using the Datadog provider in Pulumi\")\n .dashboardLists(test.applyValue(getDashboardListResult -\u003e getDashboardListResult.id()))\n .layoutType(\"ordered\")\n .isReadOnly(true)\n .widgets(DashboardWidgetArgs.builder()\n .alertGraphDefinition(DashboardWidgetAlertGraphDefinitionArgs.builder()\n .alertId(\"1234\")\n .vizType(\"timeseries\")\n .title(\"Widget Title\")\n .liveSpan(\"1h\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a dashboard and register it in the list above.\n time:\n type: datadog:Dashboard\n properties:\n title: TF Test Layout Dashboard\n description: Created using the Datadog provider in Pulumi\n dashboardLists:\n - ${test.id}\n layoutType: ordered\n isReadOnly: true\n widgets:\n - alertGraphDefinition:\n alertId: '1234'\n vizType: timeseries\n title: Widget Title\n liveSpan: 1h\nvariables:\n test:\n fn::invoke:\n Function: datadog:getDashboardList\n Arguments:\n name: My super list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDashboardList.\n", "properties": { @@ -81137,7 +81137,7 @@ } }, "datadog:index/getSensitiveDataScannerGroupOrder:getSensitiveDataScannerGroupOrder": { - "description": "Provides a Datadog Sensitive Data Scanner Group Order API data source. This can be used to retrieve the order of Datadog Sensitive Data Scanner Groups.\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\nconst foo = datadog.getSensitiveDataScannerGroupOrder({});\nconst foobar = new datadog.SensitiveDataScannerGroupOrder(\"foobar\", {groupIds: foo.then(foo =\u003e foo.groupIds)});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.get_sensitive_data_scanner_group_order()\nfoobar = datadog.SensitiveDataScannerGroupOrder(\"foobar\", group_ids=foo.group_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Datadog.GetSensitiveDataScannerGroupOrder.Invoke();\n\n var foobar = new Datadog.SensitiveDataScannerGroupOrder(\"foobar\", new()\n {\n GroupIds = foo.Apply(getSensitiveDataScannerGroupOrderResult =\u003e getSensitiveDataScannerGroupOrderResult.GroupIds),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.LookupSensitiveDataScannerGroupOrder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSensitiveDataScannerGroupOrder(ctx, \"foobar\", \u0026datadog.SensitiveDataScannerGroupOrderArgs{\n\t\t\tGroupIds: interface{}(foo.GroupIds),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.SensitiveDataScannerGroupOrder;\nimport com.pulumi.datadog.SensitiveDataScannerGroupOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder();\n\n var foobar = new SensitiveDataScannerGroupOrder(\"foobar\", SensitiveDataScannerGroupOrderArgs.builder() \n .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -\u003e getSensitiveDataScannerGroupOrderResult.groupIds()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: datadog:SensitiveDataScannerGroupOrder\n properties:\n groupIds: ${foo.groupIds}\nvariables:\n foo:\n fn::invoke:\n Function: datadog:getSensitiveDataScannerGroupOrder\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Datadog Sensitive Data Scanner Group Order API data source. This can be used to retrieve the order of Datadog Sensitive Data Scanner Groups.\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\nconst foo = datadog.getSensitiveDataScannerGroupOrder({});\nconst foobar = new datadog.SensitiveDataScannerGroupOrder(\"foobar\", {groupIds: foo.then(foo =\u003e foo.groupIds)});\n```\n```python\nimport pulumi\nimport pulumi_datadog as datadog\n\nfoo = datadog.get_sensitive_data_scanner_group_order()\nfoobar = datadog.SensitiveDataScannerGroupOrder(\"foobar\", group_ids=foo.group_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Datadog = Pulumi.Datadog;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Datadog.GetSensitiveDataScannerGroupOrder.Invoke();\n\n var foobar = new Datadog.SensitiveDataScannerGroupOrder(\"foobar\", new()\n {\n GroupIds = foo.Apply(getSensitiveDataScannerGroupOrderResult =\u003e getSensitiveDataScannerGroupOrderResult.GroupIds),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := datadog.LookupSensitiveDataScannerGroupOrder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datadog.NewSensitiveDataScannerGroupOrder(ctx, \"foobar\", \u0026datadog.SensitiveDataScannerGroupOrderArgs{\n\t\t\tGroupIds: interface{}(foo.GroupIds),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.datadog.DatadogFunctions;\nimport com.pulumi.datadog.SensitiveDataScannerGroupOrder;\nimport com.pulumi.datadog.SensitiveDataScannerGroupOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder();\n\n var foobar = new SensitiveDataScannerGroupOrder(\"foobar\", SensitiveDataScannerGroupOrderArgs.builder()\n .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -\u003e getSensitiveDataScannerGroupOrderResult.groupIds()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: datadog:SensitiveDataScannerGroupOrder\n properties:\n groupIds: ${foo.groupIds}\nvariables:\n foo:\n fn::invoke:\n Function: datadog:getSensitiveDataScannerGroupOrder\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getSensitiveDataScannerGroupOrder.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 1b22d7fe6..3685b97d9 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -4,16 +4,16 @@ go 1.21 require ( github.com/pulumi/providertest v0.0.11 - github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 - github.com/pulumi/pulumi/sdk/v3 v3.114.0 + github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0 + github.com/pulumi/pulumi/sdk/v3 v3.116.1 github.com/stretchr/testify v1.9.0 github.com/terraform-providers/terraform-provider-datadog v0.0.0 ) replace ( github.com/hashicorp/go-getter v1.5.0 => github.com/hashicorp/go-getter v1.4.0 - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 github.com/hashicorp/terraform-plugin-test => github.com/hashicorp/terraform-plugin-test v1.3.0 github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 github.com/terraform-providers/terraform-provider-datadog => ../upstream @@ -190,10 +190,10 @@ require ( github.com/posener/complete v1.2.3 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi-java/pkg v0.10.0 // indirect + github.com/pulumi/pulumi-java/pkg v0.11.0 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.6.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.114.0 // indirect + github.com/pulumi/pulumi-yaml v1.7.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.116.1 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index 3c7ce9e93..dbca1676a 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2823,26 +2823,26 @@ github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= github.com/pulumi/providertest v0.0.11 h1:mg8MQ7Cq7+9XlHIkBD+aCqQO4mwAJEISngZgVdnQUe8= github.com/pulumi/providertest v0.0.11/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= -github.com/pulumi/pulumi-java/pkg v0.10.0 h1:D1i5MiiNrxYr2uJ1szcj1aQwF9DYv7TTsPmajB9dKSw= -github.com/pulumi/pulumi-java/pkg v0.10.0/go.mod h1:xu6UgYtQm+xXOo1/DZNa2CWVPytu+RMkZVTtI7w7ffY= -github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0 h1:CqTTjZE3kIDwsBwdPVP/k1/0UUuGXg5HTG3PzbGi8ME= -github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0/go.mod h1:X2hcVpFdnjoqPI5bvc5loK9ibZhK1YIv9eJ6zkW3ZIQ= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0 h1:qCZ7ALm4xVrSLJboi4ZwkS5FRQvyzmIZni85m1iFBIw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0/go.mod h1:jXjZLukQcYrfIWxSYwSWSzPBK9BTcYGv2DDkpNKHJJw= +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.36.0 h1:ymIbnmLxlv/eHO/ky1HB+nkCRTwZQG/zawbtsSmdUw8= +github.com/pulumi/pulumi-terraform-bridge/pf v0.36.0/go.mod h1:gfO0j0PMXJl9kL+qVReQBiOMN+wOKS9AJ1UXSoCFcto= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0 h1:vNH8SgUudBo2JqmqQDQ8sf2FpzO0Rj3Q8fOuY5+g4Xg= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.83.0/go.mod h1:WJ24ugly49Q/69napI8RGAqjrDvohpoIS2/kAzW675M= 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.6.0 h1:mb/QkebWXTa1fR+P3ZkCCHGXOYC6iTN8X8By9eNz8xM= -github.com/pulumi/pulumi-yaml v1.6.0/go.mod h1:RyEPo4MhL363sbAiFMVKRsQmXpQPDCY1S8pGv3E6Ij0= -github.com/pulumi/pulumi/pkg/v3 v3.114.0 h1:+Ru1DfQKKmZcTYF7i+IWTaxvHX+vIWmVPyUXXksM3Uk= -github.com/pulumi/pulumi/pkg/v3 v3.114.0/go.mod h1:kNu4WL3BkF8zZ+1BTIWnEetNN1JtR4oRHWlxH2NZ6s0= -github.com/pulumi/pulumi/sdk/v3 v3.114.0 h1:KPBSvm04wE2/AdS8PlABxZAW4o7pSAnar0QOooH13no= -github.com/pulumi/pulumi/sdk/v3 v3.114.0/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= +github.com/pulumi/pulumi-yaml v1.7.0 h1:SbFSaqkH8UiMEy0ZSH9sHLQlmV8so0iCLfvLbPtVP7s= +github.com/pulumi/pulumi-yaml v1.7.0/go.mod h1:pCfYHSRmdl+5dM/7eT2uDQS528YOhAhiqbn9pwRzW20= +github.com/pulumi/pulumi/pkg/v3 v3.116.1 h1:yeXAc7Pk5fUa9fvHhvsiO2ydEEZaqV+xwR+D1j6m3Bg= +github.com/pulumi/pulumi/pkg/v3 v3.116.1/go.mod h1:EvZSqsOyNPpqpPXr4td8Y454swkuD/nsyHTLoWm6qDQ= +github.com/pulumi/pulumi/sdk/v3 v3.116.1 h1:P/bIDPQYy1UJogLeV/zY+bG4iTZgEEJLlwyUYEW3NPc= +github.com/pulumi/pulumi/sdk/v3 v3.116.1/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= 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= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 h1:1WBy43K/lHEdS5Hliwf3ylVSfAu5s0KhhEs6wNeP11Y= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 h1:M6Ceq1o6gGeEKxTZgJ2CKLye3p67ZZjnsAwxr5VC32A= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= diff --git a/sdk/go.mod b/sdk/go.mod index 343b0a791..52609b5d2 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.114.0 + github.com/pulumi/pulumi/sdk/v3 v3.116.1 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index f82d317e2..7eb4ea922 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -148,8 +148,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/sdk/v3 v3.114.0 h1:KPBSvm04wE2/AdS8PlABxZAW4o7pSAnar0QOooH13no= -github.com/pulumi/pulumi/sdk/v3 v3.114.0/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= +github.com/pulumi/pulumi/sdk/v3 v3.116.1 h1:P/bIDPQYy1UJogLeV/zY+bG4iTZgEEJLlwyUYEW3NPc= +github.com/pulumi/pulumi/sdk/v3 v3.116.1/go.mod h1:d6LZJHqEfpgXUd8rFSSsbaPJcocZObXeaUr87jbA5MY= 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/java/build.gradle b/sdk/java/build.gradle index cada27702..ef9205f40 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.11.0") + implementation("com.pulumi:pulumi:0.12.0") } task sourcesJar(type: Jar) { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ApiKey.java b/sdk/java/src/main/java/com/pulumi/datadog/ApiKey.java index 6157dfcd6..0c45eee2f 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ApiKey.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ApiKey.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog API Key - * var foo = new ApiKey("foo", ApiKeyArgs.builder() + * var foo = new ApiKey("foo", ApiKeyArgs.builder() * .name("foo-application") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilter.java b/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilter.java index aeb914f6e..deacd0443 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilter.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilter.java @@ -45,7 +45,7 @@ * * public static void stack(Context ctx) { * // Create APM retention filter - * var foo = new ApmRetentionFilter("foo", ApmRetentionFilterArgs.builder() + * var foo = new ApmRetentionFilter("foo", ApmRetentionFilterArgs.builder() * .name("Sample order") * .rate("1.0") * .filter(ApmRetentionFilterFilterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilterOrder.java b/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilterOrder.java index 3a36015c0..9efe10b7a 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilterOrder.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ApmRetentionFilterOrder.java @@ -45,7 +45,7 @@ * * public static void stack(Context ctx) { * // Create APM retention filter - * var foo = new ApmRetentionFilter("foo", ApmRetentionFilterArgs.builder() + * var foo = new ApmRetentionFilter("foo", ApmRetentionFilterArgs.builder() * .name("Sample order") * .rate("1.0") * .filter(ApmRetentionFilterFilterArgs.builder() @@ -56,7 +56,7 @@ * .build()); * * // Create APM reention filter order - * var bar = new ApmRetentionFilterOrder("bar", ApmRetentionFilterOrderArgs.builder() + * var bar = new ApmRetentionFilterOrder("bar", ApmRetentionFilterOrderArgs.builder() * .filterIds(foo.id()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ApplicationKey.java b/sdk/java/src/main/java/com/pulumi/datadog/ApplicationKey.java index 5032b8f10..f9ae0dda4 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ApplicationKey.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ApplicationKey.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog Application Key - * var foo = new ApplicationKey("foo", ApplicationKeyArgs.builder() + * var foo = new ApplicationKey("foo", ApplicationKeyArgs.builder() * .name("foo-application") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/AuthnMapping.java b/sdk/java/src/main/java/com/pulumi/datadog/AuthnMapping.java index 6f59eb6de..312b952ed 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/AuthnMapping.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/AuthnMapping.java @@ -50,7 +50,7 @@ * .build()); * * // Create a new AuthN mapping - * var devRoRoleMapping = new AuthnMapping("devRoRoleMapping", AuthnMappingArgs.builder() + * var devRoRoleMapping = new AuthnMapping("devRoRoleMapping", AuthnMappingArgs.builder() * .key("Member-of") * .value("Development") * .role(roRole.applyValue(getRoleResult -> getRoleResult.id())) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ChildOrganization.java b/sdk/java/src/main/java/com/pulumi/datadog/ChildOrganization.java index 0fd9d29d2..e7c1fe65f 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ChildOrganization.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ChildOrganization.java @@ -47,7 +47,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog Child Organization - * var organization = new ChildOrganization("organization", ChildOrganizationArgs.builder() + * var organization = new ChildOrganization("organization", ChildOrganizationArgs.builder() * .name("foo-organization") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/CloudConfigurationRule.java b/sdk/java/src/main/java/com/pulumi/datadog/CloudConfigurationRule.java index c7813b284..17fc88616 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/CloudConfigurationRule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/CloudConfigurationRule.java @@ -45,7 +45,7 @@ * } * * public static void stack(Context ctx) { - * var myrule = new CloudConfigurationRule("myrule", CloudConfigurationRuleArgs.builder() + * var myrule = new CloudConfigurationRule("myrule", CloudConfigurationRuleArgs.builder() * .name("My cloud configuration rule") * .message("Rule has triggered") * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/CloudWorkloadSecurityAgentRule.java b/sdk/java/src/main/java/com/pulumi/datadog/CloudWorkloadSecurityAgentRule.java index de4d8da18..f34284453 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/CloudWorkloadSecurityAgentRule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/CloudWorkloadSecurityAgentRule.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var myAgentRule = new CloudWorkloadSecurityAgentRule("myAgentRule", CloudWorkloadSecurityAgentRuleArgs.builder() + * var myAgentRule = new CloudWorkloadSecurityAgentRule("myAgentRule", CloudWorkloadSecurityAgentRuleArgs.builder() * .name("my_agent_rule") * .description("My agent rule") * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/CsmThreatsAgentRule.java b/sdk/java/src/main/java/com/pulumi/datadog/CsmThreatsAgentRule.java index 614e2ee2f..bd5636707 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/CsmThreatsAgentRule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/CsmThreatsAgentRule.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var myAgentRule = new CsmThreatsAgentRule("myAgentRule", CsmThreatsAgentRuleArgs.builder() + * var myAgentRule = new CsmThreatsAgentRule("myAgentRule", CsmThreatsAgentRuleArgs.builder() * .name("my_agent_rule") * .enabled(true) * .description("im a rule") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java b/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java index c6ab785b8..60aab49f8 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java @@ -87,7 +87,7 @@ * * public static void stack(Context ctx) { * // Example Ordered Layout - * var orderedDashboard = new Dashboard("orderedDashboard", DashboardArgs.builder() + * var orderedDashboard = new Dashboard("orderedDashboard", DashboardArgs.builder() * .title("Ordered Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .layoutType("ordered") @@ -486,7 +486,7 @@ * .build()); * * // Example Free Layout - * var freeDashboard = new Dashboard("freeDashboard", DashboardArgs.builder() + * var freeDashboard = new Dashboard("freeDashboard", DashboardArgs.builder() * .title("Free Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .layoutType("free") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/DashboardJson.java b/sdk/java/src/main/java/com/pulumi/datadog/DashboardJson.java index ba5747a62..d604f4491 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/DashboardJson.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/DashboardJson.java @@ -45,7 +45,7 @@ * * public static void stack(Context ctx) { * // Example Dashboard JSON - * var dashboardJson = new DashboardJson("dashboardJson", DashboardJsonArgs.builder() + * var dashboardJson = new DashboardJson("dashboardJson", DashboardJsonArgs.builder() * .dashboard(""" * { * "title":"Ordered Layout Dashboard", diff --git a/sdk/java/src/main/java/com/pulumi/datadog/DashboardList.java b/sdk/java/src/main/java/com/pulumi/datadog/DashboardList.java index 02d611e66..2698a5846 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/DashboardList.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/DashboardList.java @@ -52,7 +52,7 @@ * } * * public static void stack(Context ctx) { - * var time = new Dashboard("time", DashboardArgs.builder() + * var time = new Dashboard("time", DashboardArgs.builder() * .title("TF Test Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .layoutType("ordered") @@ -67,7 +67,7 @@ * .build()) * .build()); * - * var screen = new Dashboard("screen", DashboardArgs.builder() + * var screen = new Dashboard("screen", DashboardArgs.builder() * .title("TF Test Free Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .layoutType("free") @@ -91,7 +91,7 @@ * .build()); * * // Create a new Dashboard List with two Dashboards - * var newList = new DashboardList("newList", DashboardListArgs.builder() + * var newList = new DashboardList("newList", DashboardListArgs.builder() * .name("Automated Created List") * .dashItems( * DashboardListDashItemArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/DatadogFunctions.java b/sdk/java/src/main/java/com/pulumi/datadog/DatadogFunctions.java index 3388b32a0..1320178cf 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/DatadogFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/DatadogFunctions.java @@ -1315,7 +1315,7 @@ public static CompletableFuture getDashboardPlain(GetDashboa * .build()); * * // Create a dashboard and register it in the list above. - * var time = new Dashboard("time", DashboardArgs.builder() + * var time = new Dashboard("time", DashboardArgs.builder() * .title("TF Test Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .dashboardLists(test.applyValue(getDashboardListResult -> getDashboardListResult.id())) @@ -1378,7 +1378,7 @@ public static Output getDashboardList(GetDashboardListAr * .build()); * * // Create a dashboard and register it in the list above. - * var time = new Dashboard("time", DashboardArgs.builder() + * var time = new Dashboard("time", DashboardArgs.builder() * .title("TF Test Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .dashboardLists(test.applyValue(getDashboardListResult -> getDashboardListResult.id())) @@ -1441,7 +1441,7 @@ public static CompletableFuture getDashboardListPlain(Ge * .build()); * * // Create a dashboard and register it in the list above. - * var time = new Dashboard("time", DashboardArgs.builder() + * var time = new Dashboard("time", DashboardArgs.builder() * .title("TF Test Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .dashboardLists(test.applyValue(getDashboardListResult -> getDashboardListResult.id())) @@ -1504,7 +1504,7 @@ public static Output getDashboardList(GetDashboardListAr * .build()); * * // Create a dashboard and register it in the list above. - * var time = new Dashboard("time", DashboardArgs.builder() + * var time = new Dashboard("time", DashboardArgs.builder() * .title("TF Test Layout Dashboard") * .description("Created using the Datadog provider in Pulumi") * .dashboardLists(test.applyValue(getDashboardListResult -> getDashboardListResult.id())) @@ -4439,7 +4439,7 @@ public static CompletableFuture getSecu * public static void stack(Context ctx) { * final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder(); * - * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() + * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -> getSensitiveDataScannerGroupOrderResult.groupIds())) * .build()); * @@ -4484,7 +4484,7 @@ public static Output getSensitiveDataSc * public static void stack(Context ctx) { * final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder(); * - * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() + * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -> getSensitiveDataScannerGroupOrderResult.groupIds())) * .build()); * @@ -4529,7 +4529,7 @@ public static CompletableFuture getSens * public static void stack(Context ctx) { * final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder(); * - * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() + * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -> getSensitiveDataScannerGroupOrderResult.groupIds())) * .build()); * @@ -4574,7 +4574,7 @@ public static Output getSensitiveDataSc * public static void stack(Context ctx) { * final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder(); * - * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() + * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -> getSensitiveDataScannerGroupOrderResult.groupIds())) * .build()); * @@ -4619,7 +4619,7 @@ public static CompletableFuture getSens * public static void stack(Context ctx) { * final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder(); * - * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() + * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -> getSensitiveDataScannerGroupOrderResult.groupIds())) * .build()); * @@ -4664,7 +4664,7 @@ public static Output getSensitiveDataSc * public static void stack(Context ctx) { * final var foo = DatadogFunctions.getSensitiveDataScannerGroupOrder(); * - * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() + * var foobar = new SensitiveDataScannerGroupOrder("foobar", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds(foo.applyValue(getSensitiveDataScannerGroupOrderResult -> getSensitiveDataScannerGroupOrderResult.groupIds())) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/DowntimeSchedule.java b/sdk/java/src/main/java/com/pulumi/datadog/DowntimeSchedule.java index 61cc8464d..7c8c4b27f 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/DowntimeSchedule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/DowntimeSchedule.java @@ -48,7 +48,7 @@ * * public static void stack(Context ctx) { * // Create new downtime_schedule resource - * var downtimeScheduleExample = new DowntimeSchedule("downtimeScheduleExample", DowntimeScheduleArgs.builder() + * var downtimeScheduleExample = new DowntimeSchedule("downtimeScheduleExample", DowntimeScheduleArgs.builder() * .scope("env:us9-prod7 AND team:test123") * .monitorIdentifier(DowntimeScheduleMonitorIdentifierArgs.builder() * .monitorTags( diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsArchive.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsArchive.java index 63d8d5ba5..388bc4a0c 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsArchive.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsArchive.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var myS3Archive = new LogsArchive("myS3Archive", LogsArchiveArgs.builder() + * var myS3Archive = new LogsArchive("myS3Archive", LogsArchiveArgs.builder() * .name("my s3 archive") * .query("service:myservice") * .s3Archive(LogsArchiveS3ArchiveArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsArchiveOrder.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsArchiveOrder.java index c0641798e..201815934 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsArchiveOrder.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsArchiveOrder.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var sampleArchiveOrder = new LogsArchiveOrder("sampleArchiveOrder", LogsArchiveOrderArgs.builder() + * var sampleArchiveOrder = new LogsArchiveOrder("sampleArchiveOrder", LogsArchiveOrderArgs.builder() * .archiveIds( * sampleArchive1.id(), * sampleArchive2.id()) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsCustomPipeline.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsCustomPipeline.java index 78d5538d3..0486beb10 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsCustomPipeline.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsCustomPipeline.java @@ -63,7 +63,7 @@ * } * * public static void stack(Context ctx) { - * var samplePipeline = new LogsCustomPipeline("samplePipeline", LogsCustomPipelineArgs.builder() + * var samplePipeline = new LogsCustomPipeline("samplePipeline", LogsCustomPipelineArgs.builder() * .filters(LogsCustomPipelineFilterArgs.builder() * .query("source:foo") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsIndex.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsIndex.java index 84028f85f..1310bc0d5 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsIndex.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsIndex.java @@ -51,7 +51,7 @@ * * public static void stack(Context ctx) { * // A sample Datadog logs index resource definition. - * var sampleIndex = new LogsIndex("sampleIndex", LogsIndexArgs.builder() + * var sampleIndex = new LogsIndex("sampleIndex", LogsIndexArgs.builder() * .name("your index") * .dailyLimit(200000) * .dailyLimitReset(LogsIndexDailyLimitResetArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsIndexOrder.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsIndexOrder.java index fe35e2d96..75d16dc99 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsIndexOrder.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsIndexOrder.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var sampleIndexOrder = new LogsIndexOrder("sampleIndexOrder", LogsIndexOrderArgs.builder() + * var sampleIndexOrder = new LogsIndexOrder("sampleIndexOrder", LogsIndexOrderArgs.builder() * .name("sample_index_order") * .indexes(sampleIndex.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsIntegrationPipeline.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsIntegrationPipeline.java index 071f4e3a3..5c6ac0b4f 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsIntegrationPipeline.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsIntegrationPipeline.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var python = new LogsIntegrationPipeline("python", LogsIntegrationPipelineArgs.builder() + * var python = new LogsIntegrationPipeline("python", LogsIntegrationPipelineArgs.builder() * .isEnabled(true) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsMetric.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsMetric.java index 4fae4939d..36bcbf7d1 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsMetric.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsMetric.java @@ -49,7 +49,7 @@ * } * * public static void stack(Context ctx) { - * var testingLogsMetric = new LogsMetric("testingLogsMetric", LogsMetricArgs.builder() + * var testingLogsMetric = new LogsMetric("testingLogsMetric", LogsMetricArgs.builder() * .name("testing.logs.metric") * .compute(LogsMetricComputeArgs.builder() * .aggregationType("distribution") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/LogsPipelineOrder.java b/sdk/java/src/main/java/com/pulumi/datadog/LogsPipelineOrder.java index 328b643a5..4411430ac 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/LogsPipelineOrder.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/LogsPipelineOrder.java @@ -42,7 +42,7 @@ * } * * public static void stack(Context ctx) { - * var samplePipelineOrder = new LogsPipelineOrder("samplePipelineOrder", LogsPipelineOrderArgs.builder() + * var samplePipelineOrder = new LogsPipelineOrder("samplePipelineOrder", LogsPipelineOrderArgs.builder() * .name("sample_pipeline_order") * .pipelines( * samplePipeline.id(), diff --git a/sdk/java/src/main/java/com/pulumi/datadog/MetricMetadata.java b/sdk/java/src/main/java/com/pulumi/datadog/MetricMetadata.java index 29e6703c3..3d4aa9ec0 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/MetricMetadata.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/MetricMetadata.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Manage a Datadog metric's metadata - * var requestTime = new MetricMetadata("requestTime", MetricMetadataArgs.builder() + * var requestTime = new MetricMetadata("requestTime", MetricMetadataArgs.builder() * .metric("request.time") * .shortName("Request time") * .description("99th percentile request time in milliseconds") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/MetricTagConfiguration.java b/sdk/java/src/main/java/com/pulumi/datadog/MetricTagConfiguration.java index f4ae7d0f6..6a98c184e 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/MetricTagConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/MetricTagConfiguration.java @@ -47,7 +47,7 @@ * * public static void stack(Context ctx) { * // Manage a tag configuration for a Datadog distribution metric with/without percentiles - * var exampleDistMetric = new MetricTagConfiguration("exampleDistMetric", MetricTagConfigurationArgs.builder() + * var exampleDistMetric = new MetricTagConfiguration("exampleDistMetric", MetricTagConfigurationArgs.builder() * .metricName("example.terraform.dist.metric") * .metricType("distribution") * .tags( @@ -57,7 +57,7 @@ * .build()); * * // Manage tag configurations for a Datadog count or gauge metric - * var exampleCountMetric = new MetricTagConfiguration("exampleCountMetric", MetricTagConfigurationArgs.builder() + * var exampleCountMetric = new MetricTagConfiguration("exampleCountMetric", MetricTagConfigurationArgs.builder() * .metricName("example.terraform.count.metric") * .metricType("count") * .tags( diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java b/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java index 0ca408973..fc58e3cd0 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java @@ -50,7 +50,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new Monitor("foo", MonitorArgs.builder() + * var foo = new Monitor("foo", MonitorArgs.builder() * .name("Name for monitor foo") * .type("metric alert") * .message("Monitor triggered. Notify:{@literal @}hipchat-channel") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/MonitorConfigPolicy.java b/sdk/java/src/main/java/com/pulumi/datadog/MonitorConfigPolicy.java index 01536eb2c..20f2dea23 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/MonitorConfigPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/MonitorConfigPolicy.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var test = new MonitorConfigPolicy("test", MonitorConfigPolicyArgs.builder() + * var test = new MonitorConfigPolicy("test", MonitorConfigPolicyArgs.builder() * .policyType("tag") * .tagPolicy(MonitorConfigPolicyTagPolicyArgs.builder() * .tagKey("env") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/MonitorJson.java b/sdk/java/src/main/java/com/pulumi/datadog/MonitorJson.java index 04e77a5a0..a6501c2c7 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/MonitorJson.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/MonitorJson.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var monitorJson = new MonitorJson("monitorJson", MonitorJsonArgs.builder() + * var monitorJson = new MonitorJson("monitorJson", MonitorJsonArgs.builder() * .monitor(""" * { * "name": "Example monitor - service check", diff --git a/sdk/java/src/main/java/com/pulumi/datadog/OrganizationSettings.java b/sdk/java/src/main/java/com/pulumi/datadog/OrganizationSettings.java index ce966bc51..613c3f492 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/OrganizationSettings.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/OrganizationSettings.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Manage Datadog Organization - * var organization = new OrganizationSettings("organization", OrganizationSettingsArgs.builder() + * var organization = new OrganizationSettings("organization", OrganizationSettingsArgs.builder() * .name("foo-organization") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Powerpack.java b/sdk/java/src/main/java/com/pulumi/datadog/Powerpack.java index fdd2fde12..17ace183e 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Powerpack.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Powerpack.java @@ -54,11 +54,11 @@ * * public static void stack(Context ctx) { * // Manage Datadog Powerpacks - * var organization = new OrganizationSettings("organization", OrganizationSettingsArgs.builder() + * var organization = new OrganizationSettings("organization", OrganizationSettingsArgs.builder() * .name("foo-organization") * .build()); * - * var foo = new Powerpack("foo", PowerpackArgs.builder() + * var foo = new Powerpack("foo", PowerpackArgs.builder() * .description("Created using the Datadog provider in terraform") * .liveSpan("4h") * .layout(PowerpackLayoutArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/RestrictionPolicy.java b/sdk/java/src/main/java/com/pulumi/datadog/RestrictionPolicy.java index 55c534377..eefef4c5f 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/RestrictionPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/RestrictionPolicy.java @@ -46,7 +46,7 @@ * * public static void stack(Context ctx) { * // Create new restriction_policy resource - * var foo = new RestrictionPolicy("foo", RestrictionPolicyArgs.builder() + * var foo = new RestrictionPolicy("foo", RestrictionPolicyArgs.builder() * .resourceId("security-rule:abc-def-ghi") * .bindings( * RestrictionPolicyBindingArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Role.java b/sdk/java/src/main/java/com/pulumi/datadog/Role.java index fd46adbd4..11de69031 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Role.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Role.java @@ -53,7 +53,7 @@ * final var bar = DatadogFunctions.getPermissions(); * * // Create a new Datadog role - * var foo = new Role("foo", RoleArgs.builder() + * var foo = new Role("foo", RoleArgs.builder() * .name("foo") * .permissions( * RolePermissionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/RumApplication.java b/sdk/java/src/main/java/com/pulumi/datadog/RumApplication.java index b5642ac26..deac41001 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/RumApplication.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/RumApplication.java @@ -41,7 +41,7 @@ * } * * public static void stack(Context ctx) { - * var rumApplication = new RumApplication("rumApplication", RumApplicationArgs.builder() + * var rumApplication = new RumApplication("rumApplication", RumApplicationArgs.builder() * .name("my-application") * .type("browser") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringDefaultRule.java b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringDefaultRule.java index 1ea97c201..8c631c326 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringDefaultRule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringDefaultRule.java @@ -48,7 +48,7 @@ * } * * public static void stack(Context ctx) { - * var adefaultrule = new SecurityMonitoringDefaultRule("adefaultrule", SecurityMonitoringDefaultRuleArgs.builder() + * var adefaultrule = new SecurityMonitoringDefaultRule("adefaultrule", SecurityMonitoringDefaultRuleArgs.builder() * .enabled(true) * .cases(SecurityMonitoringDefaultRuleCaseArgs.builder() * .status("high") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringFilter.java b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringFilter.java index e9fe64c2c..4500286b6 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringFilter.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringFilter.java @@ -47,7 +47,7 @@ * } * * public static void stack(Context ctx) { - * var myFilter = new SecurityMonitoringFilter("myFilter", SecurityMonitoringFilterArgs.builder() + * var myFilter = new SecurityMonitoringFilter("myFilter", SecurityMonitoringFilterArgs.builder() * .name("My filter") * .query("The filter is filtering.") * .isEnabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringRule.java b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringRule.java index 122bdc89f..13b9bd5cb 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringRule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringRule.java @@ -53,7 +53,7 @@ * } * * public static void stack(Context ctx) { - * var myrule = new SecurityMonitoringRule("myrule", SecurityMonitoringRuleArgs.builder() + * var myrule = new SecurityMonitoringRule("myrule", SecurityMonitoringRuleArgs.builder() * .name("My rule") * .message("The rule has triggered.") * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringSuppression.java b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringSuppression.java index 4e24729b1..5a9ea8570 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringSuppression.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SecurityMonitoringSuppression.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var mySuppression = new SecurityMonitoringSuppression("mySuppression", SecurityMonitoringSuppressionArgs.builder() + * var mySuppression = new SecurityMonitoringSuppression("mySuppression", SecurityMonitoringSuppressionArgs.builder() * .name("My suppression") * .description("Suppression for low severity CloudTrail signals from test environments limited to 2024") * .enabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroup.java b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroup.java index bac7c98da..e834662be 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroup.java @@ -47,7 +47,7 @@ * * public static void stack(Context ctx) { * // Create new sensitive_data_scanner_group resource - * var mygroup = new SensitiveDataScannerGroup("mygroup", SensitiveDataScannerGroupArgs.builder() + * var mygroup = new SensitiveDataScannerGroup("mygroup", SensitiveDataScannerGroupArgs.builder() * .name("My new scanning group") * .description("A relevant description") * .filter(SensitiveDataScannerGroupFilterArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroupOrder.java b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroupOrder.java index 1f8d84214..6cf1168ac 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroupOrder.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerGroupOrder.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create new sensitive_data_scanner_group_order resource - * var mygrouporder = new SensitiveDataScannerGroupOrder("mygrouporder", SensitiveDataScannerGroupOrderArgs.builder() + * var mygrouporder = new SensitiveDataScannerGroupOrder("mygrouporder", SensitiveDataScannerGroupOrderArgs.builder() * .groupIds( * "group-id-1", * "group-id-2", diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccount.java b/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccount.java index 6f86248e4..e074b369a 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccount.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccount.java @@ -52,7 +52,7 @@ * .build()); * * // Create a new Datadog service account - * var bar = new ServiceAccount("bar", ServiceAccountArgs.builder() + * var bar = new ServiceAccount("bar", ServiceAccountArgs.builder() * .email("new{@literal @}example.com") * .name("Service Account Bar") * .roles(roRole.applyValue(getRoleResult -> getRoleResult.id())) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccountApplicationKey.java b/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccountApplicationKey.java index d0ac596fe..a776ae5d3 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccountApplicationKey.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ServiceAccountApplicationKey.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create new service_account_application_key resource - * var foo = new ServiceAccountApplicationKey("foo", ServiceAccountApplicationKeyArgs.builder() + * var foo = new ServiceAccountApplicationKey("foo", ServiceAccountApplicationKeyArgs.builder() * .serviceAccountId("00000000-0000-1234-0000-000000000000") * .name("Application key for managing dashboards") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ServiceDefinitionYaml.java b/sdk/java/src/main/java/com/pulumi/datadog/ServiceDefinitionYaml.java index c52c7e6a1..0908d5da8 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ServiceDefinitionYaml.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ServiceDefinitionYaml.java @@ -42,7 +42,7 @@ * * public static void stack(Context ctx) { * // Service Definition with v2.2 Schema Definition - * var serviceDefinitionV22 = new ServiceDefinitionYaml("serviceDefinitionV22", ServiceDefinitionYamlArgs.builder() + * var serviceDefinitionV22 = new ServiceDefinitionYaml("serviceDefinitionV22", ServiceDefinitionYamlArgs.builder() * .serviceDefinition(""" * schema-version: v2.2 * dd-service: shopping-cart @@ -94,7 +94,7 @@ * .build()); * * // Service Definition with v2.1 Schema Definition - * var serviceDefinitionV21 = new ServiceDefinitionYaml("serviceDefinitionV21", ServiceDefinitionYamlArgs.builder() + * var serviceDefinitionV21 = new ServiceDefinitionYaml("serviceDefinitionV21", ServiceDefinitionYamlArgs.builder() * .serviceDefinition(""" * schema-version: v2.1 * dd-service: shopping-cart @@ -139,7 +139,7 @@ * .build()); * * // Service Definition with v2 Schema Definition - * var serviceDefinitionV2 = new ServiceDefinitionYaml("serviceDefinitionV2", ServiceDefinitionYamlArgs.builder() + * var serviceDefinitionV2 = new ServiceDefinitionYaml("serviceDefinitionV2", ServiceDefinitionYamlArgs.builder() * .serviceDefinition(""" * schema-version: v2 * dd-service: shopping-cart @@ -178,7 +178,7 @@ * .build()); * * // Service Definition with backstage.io Schema - * var serviceDefinitionBackstage = new ServiceDefinitionYaml("serviceDefinitionBackstage", ServiceDefinitionYamlArgs.builder() + * var serviceDefinitionBackstage = new ServiceDefinitionYaml("serviceDefinitionBackstage", ServiceDefinitionYamlArgs.builder() * .serviceDefinition(""" * apiVersion: backstage.io/v1alpha1 * kind: Component diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ServiceLevelObjective.java b/sdk/java/src/main/java/com/pulumi/datadog/ServiceLevelObjective.java index 93b6b5e78..2d96f1b8c 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/ServiceLevelObjective.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/ServiceLevelObjective.java @@ -57,7 +57,7 @@ * public static void stack(Context ctx) { * // Metric-Based SLO * // Create a new Datadog service level objective - * var foo = new ServiceLevelObjective("foo", ServiceLevelObjectiveArgs.builder() + * var foo = new ServiceLevelObjective("foo", ServiceLevelObjectiveArgs.builder() * .name("Example Metric SLO") * .type("metric") * .description("My custom metric SLO") @@ -86,7 +86,7 @@ * * // Monitor-Based SLO * // Create a new Datadog service level objective - * var bar = new ServiceLevelObjective("bar", ServiceLevelObjectiveArgs.builder() + * var bar = new ServiceLevelObjective("bar", ServiceLevelObjectiveArgs.builder() * .name("Example Monitor SLO") * .type("monitor") * .description("My custom monitor SLO") @@ -113,7 +113,7 @@ * "baz") * .build()); * - * var timeSliceSlo = new ServiceLevelObjective("timeSliceSlo", ServiceLevelObjectiveArgs.builder() + * var timeSliceSlo = new ServiceLevelObjective("timeSliceSlo", ServiceLevelObjectiveArgs.builder() * .name("Example Time Slice SLO") * .type("time_slice") * .description("My custom time slice SLO") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SloCorrection.java b/sdk/java/src/main/java/com/pulumi/datadog/SloCorrection.java index 086e41a64..4cbf08340 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SloCorrection.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SloCorrection.java @@ -48,7 +48,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO. - * var exampleSlo = new ServiceLevelObjective("exampleSlo", ServiceLevelObjectiveArgs.builder() + * var exampleSlo = new ServiceLevelObjective("exampleSlo", ServiceLevelObjectiveArgs.builder() * .name("example slo") * .type("metric") * .description("some updated description about example_slo SLO") @@ -64,7 +64,7 @@ * .tags("foo:bar") * .build()); * - * var exampleSloCorrection = new SloCorrection("exampleSloCorrection", SloCorrectionArgs.builder() + * var exampleSloCorrection = new SloCorrection("exampleSloCorrection", SloCorrectionArgs.builder() * .category("Scheduled Maintenance") * .description("correction example") * .start(1735707000) @@ -73,7 +73,7 @@ * .timezone("UTC") * .build()); * - * var exampleSloCorrectionWithRecurrence = new SloCorrection("exampleSloCorrectionWithRecurrence", SloCorrectionArgs.builder() + * var exampleSloCorrectionWithRecurrence = new SloCorrection("exampleSloCorrectionWithRecurrence", SloCorrectionArgs.builder() * .category("Scheduled Maintenance") * .description("correction example with recurrence") * .start(1735707000) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SpansMetric.java b/sdk/java/src/main/java/com/pulumi/datadog/SpansMetric.java index 5e06c0b3d..5fd51d9f7 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SpansMetric.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SpansMetric.java @@ -48,7 +48,7 @@ * * public static void stack(Context ctx) { * // Create new spans_metric resource - * var testingSpansMetric = new SpansMetric("testingSpansMetric", SpansMetricArgs.builder() + * var testingSpansMetric = new SpansMetric("testingSpansMetric", SpansMetricArgs.builder() * .name("testing.span.metric") * .compute(SpansMetricComputeArgs.builder() * .aggregationType("distribution") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsConcurrencyCap.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsConcurrencyCap.java index 5ec53fb2d..88f4e94d8 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsConcurrencyCap.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsConcurrencyCap.java @@ -42,7 +42,7 @@ * * public static void stack(Context ctx) { * // Example Usage (Synthetics Concurrency Cap Configuration) - * var this_ = new SyntheticsConcurrencyCap("this", SyntheticsConcurrencyCapArgs.builder() + * var this_ = new SyntheticsConcurrencyCap("this", SyntheticsConcurrencyCapArgs.builder() * .onDemandConcurrencyCap(1) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsGlobalVariable.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsGlobalVariable.java index 957c467c0..741892d4b 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsGlobalVariable.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsGlobalVariable.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var testVariable = new SyntheticsGlobalVariable("testVariable", SyntheticsGlobalVariableArgs.builder() + * var testVariable = new SyntheticsGlobalVariable("testVariable", SyntheticsGlobalVariableArgs.builder() * .name("EXAMPLE_VARIABLE") * .description("Description of the variable") * .tags( diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsPrivateLocation.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsPrivateLocation.java index 094ed5d7f..4fc07af10 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsPrivateLocation.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsPrivateLocation.java @@ -44,7 +44,7 @@ * } * * public static void stack(Context ctx) { - * var privateLocation = new SyntheticsPrivateLocation("privateLocation", SyntheticsPrivateLocationArgs.builder() + * var privateLocation = new SyntheticsPrivateLocation("privateLocation", SyntheticsPrivateLocationArgs.builder() * .name("First private location") * .description("Description of the private location") * .tags( 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 176bf7c2e..9e8dc65db 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java @@ -81,7 +81,7 @@ * public static void stack(Context ctx) { * // Example Usage (Synthetics API test) * // Create a new Datadog Synthetics API/HTTP test on https://www.example.org - * var testUptime = new SyntheticsTest("testUptime", SyntheticsTestArgs.builder() + * var testUptime = new SyntheticsTest("testUptime", SyntheticsTestArgs.builder() * .name("An Uptime test on example.org") * .type("api") * .subtype("http") @@ -116,7 +116,7 @@ * * // Example Usage (Authenticated API test) * // Create a new Datadog Synthetics API/HTTP test on https://www.example.org - * var testApi = new SyntheticsTest("testApi", SyntheticsTestArgs.builder() + * var testApi = new SyntheticsTest("testApi", SyntheticsTestArgs.builder() * .name("An API test on example.org") * .type("api") * .subtype("http") @@ -154,7 +154,7 @@ * * // Example Usage (Synthetics SSL test) * // Create a new Datadog Synthetics API/SSL test on example.org - * var testSsl = new SyntheticsTest("testSsl", SyntheticsTestArgs.builder() + * var testSsl = new SyntheticsTest("testSsl", SyntheticsTestArgs.builder() * .name("An API test on example.org") * .type("api") * .subtype("ssl") @@ -182,7 +182,7 @@ * * // Example Usage (Synthetics TCP test) * // Create a new Datadog Synthetics API/TCP test on example.org - * var testTcp = new SyntheticsTest("testTcp", SyntheticsTestArgs.builder() + * var testTcp = new SyntheticsTest("testTcp", SyntheticsTestArgs.builder() * .name("An API test on example.org") * .type("api") * .subtype("tcp") @@ -214,7 +214,7 @@ * * // Example Usage (Synthetics DNS test) * // Create a new Datadog Synthetics API/DNS test on example.org - * var testDns = new SyntheticsTest("testDns", SyntheticsTestArgs.builder() + * var testDns = new SyntheticsTest("testDns", SyntheticsTestArgs.builder() * .name("An API test on example.org") * .type("api") * .subtype("dns") @@ -241,7 +241,7 @@ * * // Example Usage (Synthetics Multistep API test) * // Create a new Datadog Synthetics Multistep API test - * var testMultiStep = new SyntheticsTest("testMultiStep", SyntheticsTestArgs.builder() + * var testMultiStep = new SyntheticsTest("testMultiStep", SyntheticsTestArgs.builder() * .name("Multistep API test") * .type("api") * .subtype("multi") @@ -290,7 +290,7 @@ * * // Example Usage (Synthetics Browser test) * // Create a new Datadog Synthetics Browser test starting on https://www.example.org - * var testBrowser = new SyntheticsTest("testBrowser", SyntheticsTestArgs.builder() + * var testBrowser = new SyntheticsTest("testBrowser", SyntheticsTestArgs.builder() * .name("A Browser test on example.org") * .type("browser") * .status("paused") @@ -354,7 +354,7 @@ * * // Example Usage (GRPC API test) * // Create a new Datadog GRPC API test starting on google.org:50050 - * var grpc = new SyntheticsTest("grpc", SyntheticsTestArgs.builder() + * var grpc = new SyntheticsTest("grpc", SyntheticsTestArgs.builder() * .type("api") * .subtype("grpc") * .requestDefinition(SyntheticsTestRequestDefinitionArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Team.java b/sdk/java/src/main/java/com/pulumi/datadog/Team.java index 70ebc4ee7..c066530e9 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Team.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Team.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create new team resource - * var foo = new Team("foo", TeamArgs.builder() + * var foo = new Team("foo", TeamArgs.builder() * .description("Team description") * .handle("example-team") * .name("Example Team") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/TeamLink.java b/sdk/java/src/main/java/com/pulumi/datadog/TeamLink.java index 1d3d8cdfe..c6bc1f542 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/TeamLink.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/TeamLink.java @@ -44,14 +44,14 @@ * } * * public static void stack(Context ctx) { - * var foo = new Team("foo", TeamArgs.builder() + * var foo = new Team("foo", TeamArgs.builder() * .description("Example team") * .handle("example-team-updated") * .name("Example Team-updated") * .build()); * * // Create new team_link resource - * var fooTeamLink = new TeamLink("fooTeamLink", TeamLinkArgs.builder() + * var fooTeamLink = new TeamLink("fooTeamLink", TeamLinkArgs.builder() * .teamId(foo.id()) * .label("Link label") * .position("Example link") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/TeamMembership.java b/sdk/java/src/main/java/com/pulumi/datadog/TeamMembership.java index 760bce3f4..4e1e1eea5 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/TeamMembership.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/TeamMembership.java @@ -46,18 +46,18 @@ * } * * public static void stack(Context ctx) { - * var foo = new Team("foo", TeamArgs.builder() + * var foo = new Team("foo", TeamArgs.builder() * .description("Example team") * .handle("example-team-updated") * .name("Example Team-updated") * .build()); * - * var fooUser = new User("fooUser", UserArgs.builder() + * var fooUser = new User("fooUser", UserArgs.builder() * .email("new{@literal @}example.com") * .build()); * * // Create new team_membership resource - * var fooTeamMembership = new TeamMembership("fooTeamMembership", TeamMembershipArgs.builder() + * var fooTeamMembership = new TeamMembership("fooTeamMembership", TeamMembershipArgs.builder() * .teamId(foo.id()) * .userId(fooUser.id()) * .role("admin") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/TeamPermissionSetting.java b/sdk/java/src/main/java/com/pulumi/datadog/TeamPermissionSetting.java index 30327d211..9dea55185 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/TeamPermissionSetting.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/TeamPermissionSetting.java @@ -43,13 +43,13 @@ * } * * public static void stack(Context ctx) { - * var foo = new Team("foo", TeamArgs.builder() + * var foo = new Team("foo", TeamArgs.builder() * .description("Example team") * .handle("example-team-updated") * .name("Example Team-updated") * .build()); * - * var fooTeamPermissionSetting = new TeamPermissionSetting("fooTeamPermissionSetting", TeamPermissionSettingArgs.builder() + * var fooTeamPermissionSetting = new TeamPermissionSetting("fooTeamPermissionSetting", TeamPermissionSettingArgs.builder() * .teamId(foo.id()) * .action("manage_membership") * .value("organization") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/User.java b/sdk/java/src/main/java/com/pulumi/datadog/User.java index ac310cbf2..210b225f4 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/User.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/User.java @@ -52,7 +52,7 @@ * .build()); * * // Create a new Datadog user - * var foo = new User("foo", UserArgs.builder() + * var foo = new User("foo", UserArgs.builder() * .email("new{@literal @}example.com") * .roles(roRole.applyValue(getRoleResult -> getRoleResult.id())) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/UserRole.java b/sdk/java/src/main/java/com/pulumi/datadog/UserRole.java index 5cd9b752d..2701a690a 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/UserRole.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/UserRole.java @@ -46,19 +46,19 @@ * } * * public static void stack(Context ctx) { - * var monitorWriterRole = new Role("monitorWriterRole", RoleArgs.builder() + * var monitorWriterRole = new Role("monitorWriterRole", RoleArgs.builder() * .name("Monitor Writer Role") * .permissions(RolePermissionArgs.builder() * .id(bar.permissions().monitorsWrite()) * .build()) * .build()); * - * var newUser = new User("newUser", UserArgs.builder() + * var newUser = new User("newUser", UserArgs.builder() * .email("new{@literal @}example.com") * .build()); * * // Create new user_role resource - * var newUserWithMonitorWriterRole = new UserRole("newUserWithMonitorWriterRole", UserRoleArgs.builder() + * var newUserWithMonitorWriterRole = new UserRole("newUserWithMonitorWriterRole", UserRoleArgs.builder() * .roleId(monitorWriterRole.id()) * .userId(newUser.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Webhook.java b/sdk/java/src/main/java/com/pulumi/datadog/Webhook.java index a61a940d5..100d8dd8d 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Webhook.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Webhook.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog webhook - * var foo = new Webhook("foo", WebhookArgs.builder() + * var foo = new Webhook("foo", WebhookArgs.builder() * .name("test-webhook") * .url("example.com") * .encodeAs("json") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/WebhookCustomVariable.java b/sdk/java/src/main/java/com/pulumi/datadog/WebhookCustomVariable.java index 462f18399..d18869684 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/WebhookCustomVariable.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/WebhookCustomVariable.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog webhook custom variable. - * var foo = new WebhookCustomVariable("foo", WebhookCustomVariableArgs.builder() + * var foo = new WebhookCustomVariable("foo", WebhookCustomVariableArgs.builder() * .name("EXAMPLE_VARIABLE") * .value("EXAMPLE-VALUE") * .isSecret(true) 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 701421dcb..6479576c6 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 @@ -46,7 +46,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog - Amazon Web Services integration - * var sandbox = new Integration("sandbox", IntegrationArgs.builder() + * var sandbox = new Integration("sandbox", IntegrationArgs.builder() * .accountId("1234567890") * .roleName("DatadogAWSIntegrationRole") * .filterTags("key:value") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationEventBridge.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationEventBridge.java index 3ab894e61..e1954f7a8 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationEventBridge.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationEventBridge.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create new integration_aws_event_bridge resource - * var foo = new IntegrationEventBridge("foo", IntegrationEventBridgeArgs.builder() + * var foo = new IntegrationEventBridge("foo", IntegrationEventBridgeArgs.builder() * .accountId("123456789012") * .createEventBus(true) * .eventGeneratorName("app-alerts") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLambdaArn.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLambdaArn.java index 422929d56..c029e4158 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLambdaArn.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLambdaArn.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog - Amazon Web Services integration Lambda ARN - * var mainCollector = new IntegrationLambdaArn("mainCollector", IntegrationLambdaArnArgs.builder() + * var mainCollector = new IntegrationLambdaArn("mainCollector", IntegrationLambdaArnArgs.builder() * .accountId("1234567890") * .lambdaArn("arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLogCollection.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLogCollection.java index 9888b1112..24c78fcc6 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLogCollection.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationLogCollection.java @@ -43,7 +43,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog - Amazon Web Services integration log collection - * var main = new IntegrationLogCollection("main", IntegrationLogCollectionArgs.builder() + * var main = new IntegrationLogCollection("main", IntegrationLogCollectionArgs.builder() * .accountId("1234567890") * .services("lambda") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationTagFilter.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationTagFilter.java index e24710a3b..cedee5703 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationTagFilter.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationTagFilter.java @@ -42,7 +42,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog - Amazon Web Services integration tag filter - * var foo = new IntegrationTagFilter("foo", IntegrationTagFilterArgs.builder() + * var foo = new IntegrationTagFilter("foo", IntegrationTagFilterArgs.builder() * .accountId("123456789010") * .namespace("sqs") * .tagFilterStr("key:value") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/azure/Integration.java b/sdk/java/src/main/java/com/pulumi/datadog/azure/Integration.java index ded024a5d..0c2f56b59 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/azure/Integration.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/azure/Integration.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Create a new Datadog - Microsoft Azure integration - * var sandbox = new Integration("sandbox", IntegrationArgs.builder() + * var sandbox = new Integration("sandbox", IntegrationArgs.builder() * .tenantName("") * .clientId("") * .clientSecret("") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java index 7e1494894..7518ff6a9 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Create new integration_cloudflare_account resource - * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() + * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() * .apiKey("12345678910abc") * .email("test-email{@literal @}example.com") * .name("test-name") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationAccount.java b/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationAccount.java index a9d363257..a6ef03e1d 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationAccount.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationAccount.java @@ -44,7 +44,7 @@ * * public static void stack(Context ctx) { * // Create new integration_confluent_account resource - * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() + * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() * .apiKey("TESTAPIKEY123") * .apiSecret("test-api-secret-123") * .tags( diff --git a/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationResource.java b/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationResource.java index fbf56fcba..41a21c648 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationResource.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/confluent/IntegrationResource.java @@ -46,7 +46,7 @@ * } * * public static void stack(Context ctx) { - * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() + * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() * .apiKey("TESTAPIKEY123") * .apiSecret("test-api-secret-123") * .tags( @@ -55,7 +55,7 @@ * .build()); * * // Create new integration_confluent_resource resource - * var fooIntegrationResource = new IntegrationResource("fooIntegrationResource", IntegrationResourceArgs.builder() + * var fooIntegrationResource = new IntegrationResource("fooIntegrationResource", IntegrationResourceArgs.builder() * .accountId(foo.id()) * .resourceId("123456") * .resourceType("kafka") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationAccount.java b/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationAccount.java index 32cb80eea..d7d6b4d59 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationAccount.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationAccount.java @@ -42,7 +42,7 @@ * * public static void stack(Context ctx) { * // Create new integration_fastly_account resource - * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() + * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() * .apiKey("ABCDEFG123") * .name("test-name") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationService.java b/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationService.java index 3bfdf1fcd..533803bb3 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationService.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/fastly/IntegrationService.java @@ -45,13 +45,13 @@ * } * * public static void stack(Context ctx) { - * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() + * var foo = new IntegrationAccount("foo", IntegrationAccountArgs.builder() * .apiKey("ABCDEFG123") * .name("test-name") * .build()); * * // Create new integration_fastly_service resource - * var fooIntegrationService = new IntegrationService("fooIntegrationService", IntegrationServiceArgs.builder() + * var fooIntegrationService = new IntegrationService("fooIntegrationService", IntegrationServiceArgs.builder() * .accountId(foo.id()) * .tags( * "mytag", diff --git a/sdk/java/src/main/java/com/pulumi/datadog/opsgenie/ServiceObject.java b/sdk/java/src/main/java/com/pulumi/datadog/opsgenie/ServiceObject.java index f1afd78c6..b68409509 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/opsgenie/ServiceObject.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/opsgenie/ServiceObject.java @@ -43,13 +43,13 @@ * } * * public static void stack(Context ctx) { - * var fakeServiceName = new ServiceObject("fakeServiceName", ServiceObjectArgs.builder() + * var fakeServiceName = new ServiceObject("fakeServiceName", ServiceObjectArgs.builder() * .name("fake_service_name") * .opsgenieApiKey("00000000-0000-0000-0000-000000000000") * .region("us") * .build()); * - * var fakeServiceName2 = new ServiceObject("fakeServiceName2", ServiceObjectArgs.builder() + * var fakeServiceName2 = new ServiceObject("fakeServiceName2", ServiceObjectArgs.builder() * .name("fake_service_name_2") * .opsgenieApiKey("11111111-1111-1111-1111-111111111111") * .region("eu") diff --git a/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/Integration.java b/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/Integration.java index 0ff53e8c9..eb3794ded 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/Integration.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/Integration.java @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * // Note: Until terraform-provider-datadog version 2.1.0, service objects under the services key were specified inside the datadog_integration_pagerduty resource. This was incompatible with multi-configuration-file setups, where users wanted to have individual service objects controlled from different Terraform configuration files. The recommended approach now is specifying service objects as individual resources using datadog_integration_pagerduty_service_object. * // Services as Individual Resources - * var pd = new Integration("pd", IntegrationArgs.builder() + * var pd = new Integration("pd", IntegrationArgs.builder() * .schedules( * "https://ddog.pagerduty.com/schedules/X123VF", * "https://ddog.pagerduty.com/schedules/X321XX") @@ -56,14 +56,14 @@ * .apiToken("38457822378273432587234242874") * .build()); * - * var testingFoo = new ServiceObject("testingFoo", ServiceObjectArgs.builder() + * var testingFoo = new ServiceObject("testingFoo", ServiceObjectArgs.builder() * .serviceName("testing_foo") * .serviceKey("9876543210123456789") * .build(), CustomResourceOptions.builder() * .dependsOn(pd) * .build()); * - * var testingBar = new ServiceObject("testingBar", ServiceObjectArgs.builder() + * var testingBar = new ServiceObject("testingBar", ServiceObjectArgs.builder() * .serviceName("testing_bar") * .serviceKey("54321098765432109876") * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/ServiceObject.java b/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/ServiceObject.java index 6abd73591..8871be5ad 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/ServiceObject.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/pagerduty/ServiceObject.java @@ -42,12 +42,12 @@ * } * * public static void stack(Context ctx) { - * var testingFoo = new ServiceObject("testingFoo", ServiceObjectArgs.builder() + * var testingFoo = new ServiceObject("testingFoo", ServiceObjectArgs.builder() * .serviceName("testing_foo") * .serviceKey("9876543210123456789") * .build()); * - * var testingBar = new ServiceObject("testingBar", ServiceObjectArgs.builder() + * var testingBar = new ServiceObject("testingBar", ServiceObjectArgs.builder() * .serviceName("testing_bar") * .serviceKey("54321098765432109876") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/datadog/slack/Channel.java b/sdk/java/src/main/java/com/pulumi/datadog/slack/Channel.java index 73600f9ab..19a9a6a75 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/slack/Channel.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/slack/Channel.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var testChannel = new Channel("testChannel", ChannelArgs.builder() + * var testChannel = new Channel("testChannel", ChannelArgs.builder() * .accountName("foo") * .channelName("#test_channel") * .display(ChannelDisplayArgs.builder()