From 878abafb227a495d06424c0268ee41c284de4b3d Mon Sep 17 00:00:00 2001 From: "bot@pulumi.com" Date: Wed, 27 Nov 2024 03:17:00 +0000 Subject: [PATCH 1/2] make tfgen --- .pulumi-java-gen.version | 2 +- .../bridge-metadata.json | 15 ++ .../cmd/pulumi-resource-datadog/schema.json | 228 +++++++++++++++++- provider/go.mod | 2 +- provider/go.sum | 4 +- upstream | 2 +- 6 files changed, 245 insertions(+), 8 deletions(-) diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 07feb8234..47d04a528 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.17.0 \ No newline at end of file +0.18.0 \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-datadog/bridge-metadata.json b/provider/cmd/pulumi-resource-datadog/bridge-metadata.json index 15d25b41b..1f04c91a7 100644 --- a/provider/cmd/pulumi-resource-datadog/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-datadog/bridge-metadata.json @@ -11451,6 +11451,10 @@ } } }, + "datadog_integration_ms_teams_tenant_based_handle": { + "current": "datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", + "majorVersion": 4 + }, "datadog_integration_opsgenie_service_object": { "current": "datadog:opsgenie/serviceObject:ServiceObject", "majorVersion": 4 @@ -15262,6 +15266,15 @@ "current": "datadog:index/rumApplication:RumApplication", "majorVersion": 4 }, + "datadog_rum_metric": { + "current": "datadog:index/rumMetric:RumMetric", + "majorVersion": 4, + "fields": { + "group_by": { + "maxItemsOne": false + } + } + }, "datadog_security_monitoring_default_rule": { "current": "datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule", "majorVersion": 4, @@ -16468,6 +16481,7 @@ "datadog:index/restrictionPolicy:RestrictionPolicy": 1, "datadog:index/role:Role": 0, "datadog:index/rumApplication:RumApplication": 1, + "datadog:index/rumMetric:RumMetric": 1, "datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule": 0, "datadog:index/securityMonitoringFilter:SecurityMonitoringFilter": 0, "datadog:index/securityMonitoringRule:SecurityMonitoringRule": 0, @@ -16494,6 +16508,7 @@ "datadog:index/userRole:UserRole": 1, "datadog:index/webhook:Webhook": 1, "datadog:index/webhookCustomVariable:WebhookCustomVariable": 1, + "datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle": 1, "datadog:opsgenie/serviceObject:ServiceObject": 0, "datadog:pagerduty/integration:Integration": 0, "datadog:pagerduty/serviceObject:ServiceObject": 0, diff --git a/provider/cmd/pulumi-resource-datadog/schema.json b/provider/cmd/pulumi-resource-datadog/schema.json index 6297c10ac..cdcadeaf2 100644 --- a/provider/cmd/pulumi-resource-datadog/schema.json +++ b/provider/cmd/pulumi-resource-datadog/schema.json @@ -28481,6 +28481,57 @@ } } }, + "datadog:index/RumMetricCompute:RumMetricCompute": { + "properties": { + "aggregationType": { + "type": "string", + "description": "The type of aggregation to use.\n" + }, + "includePercentiles": { + "type": "boolean", + "description": "Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`.\n" + }, + "path": { + "type": "string", + "description": "The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`.\n" + } + }, + "type": "object", + "required": [ + "aggregationType" + ] + }, + "datadog:index/RumMetricFilter:RumMetricFilter": { + "properties": { + "query": { + "type": "string", + "description": "The search query. Follows RUM search syntax.\n" + } + }, + "type": "object" + }, + "datadog:index/RumMetricGroupBy:RumMetricGroupBy": { + "properties": { + "path": { + "type": "string", + "description": "The path to the value the RUM-based metric will be aggregated over.\n" + }, + "tagName": { + "type": "string", + "description": "Name of the tag that gets created. By default, `path` is used as the tag name.\n" + } + }, + "type": "object" + }, + "datadog:index/RumMetricUniqueness:RumMetricUniqueness": { + "properties": { + "when": { + "type": "string", + "description": "When to count updatable events. `match` when the event is first seen, or `end` when the event is complete.\n" + } + }, + "type": "object" + }, "datadog:index/SecurityMonitoringDefaultRuleCase:SecurityMonitoringDefaultRuleCase": { "properties": { "notifications": { @@ -29880,6 +29931,14 @@ "type": "boolean", "description": "Determines if the step should be allowed to fail.\n" }, + "alwaysExecute": { + "type": "boolean", + "description": "Determines whether or not to always execute this step even if the previous step failed or was skipped.\n" + }, + "exitIfSucceed": { + "type": "boolean", + "description": "Determines whether or not to exit the test if the step succeeds.\n" + }, "forceElementUpdate": { "type": "boolean", "description": "Force update of the \"element\" parameter for the step\n" @@ -36952,6 +37011,96 @@ "type": "object" } }, + "datadog:index/rumMetric:RumMetric": { + "description": "Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_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.RumMetric;\nimport com.pulumi.datadog.RumMetricArgs;\nimport com.pulumi.datadog.inputs.RumMetricGroupByArgs;\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 rum_metric resource\n var testingRumMetric = new RumMetric(\"testingRumMetric\", RumMetricArgs.builder()\n .name(\"testing.rum.metric\")\n .compute(RumMetricComputeArgs.builder()\n .aggregationType(\"distribution\")\n .includePercentiles(true)\n .path(\"@duration\")\n .build())\n .eventType(\"session\")\n .filter(RumMetricFilterArgs.builder()\n .query(\"@service:web-ui\")\n .build())\n .groupBies(RumMetricGroupByArgs.builder()\n .path(\"@browser.name\")\n .tagName(\"browser_name\")\n .build())\n .uniqueness(RumMetricUniquenessArgs.builder()\n .when(\"match\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create new rum_metric resource\n testingRumMetric:\n type: datadog:RumMetric\n name: testing_rum_metric\n properties:\n name: testing.rum.metric\n compute:\n - aggregationType: distribution\n includePercentiles: true\n path: '@duration'\n eventType: session\n filter:\n - query: '@service:web-ui'\n groupBies:\n - path: '@browser.name'\n tagName: browser_name\n uniqueness:\n - when: match\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric \"testing.rum.metric\"\n```\n\n", + "properties": { + "compute": { + "$ref": "#/types/datadog:index/RumMetricCompute:RumMetricCompute" + }, + "eventType": { + "type": "string", + "description": "The type of RUM events to filter on.\n" + }, + "filter": { + "$ref": "#/types/datadog:index/RumMetricFilter:RumMetricFilter" + }, + "groupBies": { + "type": "array", + "items": { + "$ref": "#/types/datadog:index/RumMetricGroupBy:RumMetricGroupBy" + } + }, + "name": { + "type": "string", + "description": "The name of the RUM-based metric. This field can't be updated after creation.\n" + }, + "uniqueness": { + "$ref": "#/types/datadog:index/RumMetricUniqueness:RumMetricUniqueness" + } + }, + "required": [ + "eventType", + "name" + ], + "inputProperties": { + "compute": { + "$ref": "#/types/datadog:index/RumMetricCompute:RumMetricCompute" + }, + "eventType": { + "type": "string", + "description": "The type of RUM events to filter on.\n" + }, + "filter": { + "$ref": "#/types/datadog:index/RumMetricFilter:RumMetricFilter" + }, + "groupBies": { + "type": "array", + "items": { + "$ref": "#/types/datadog:index/RumMetricGroupBy:RumMetricGroupBy" + } + }, + "name": { + "type": "string", + "description": "The name of the RUM-based metric. This field can't be updated after creation.\n" + }, + "uniqueness": { + "$ref": "#/types/datadog:index/RumMetricUniqueness:RumMetricUniqueness" + } + }, + "requiredInputs": [ + "eventType", + "name" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RumMetric resources.\n", + "properties": { + "compute": { + "$ref": "#/types/datadog:index/RumMetricCompute:RumMetricCompute" + }, + "eventType": { + "type": "string", + "description": "The type of RUM events to filter on.\n" + }, + "filter": { + "$ref": "#/types/datadog:index/RumMetricFilter:RumMetricFilter" + }, + "groupBies": { + "type": "array", + "items": { + "$ref": "#/types/datadog:index/RumMetricGroupBy:RumMetricGroupBy" + } + }, + "name": { + "type": "string", + "description": "The name of the RUM-based metric. This field can't be updated after creation.\n" + }, + "uniqueness": { + "$ref": "#/types/datadog:index/RumMetricUniqueness:RumMetricUniqueness" + } + }, + "type": "object" + } + }, "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=[{\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": { @@ -37677,7 +37826,7 @@ }, "includedKeywordConfiguration": { "$ref": "#/types/datadog:index/SensitiveDataScannerRuleIncludedKeywordConfiguration:SensitiveDataScannerRuleIncludedKeywordConfiguration", - "description": "Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n" + "description": "Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n" }, "isEnabled": { "type": "boolean", @@ -37741,7 +37890,7 @@ }, "includedKeywordConfiguration": { "$ref": "#/types/datadog:index/SensitiveDataScannerRuleIncludedKeywordConfiguration:SensitiveDataScannerRuleIncludedKeywordConfiguration", - "description": "Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n", + "description": "Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n", "willReplaceOnChanges": true }, "isEnabled": { @@ -37808,7 +37957,7 @@ }, "includedKeywordConfiguration": { "$ref": "#/types/datadog:index/SensitiveDataScannerRuleIncludedKeywordConfiguration:SensitiveDataScannerRuleIncludedKeywordConfiguration", - "description": "Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n", + "description": "Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups.\n", "willReplaceOnChanges": true }, "isEnabled": { @@ -39764,6 +39913,79 @@ "type": "object" } }, + "datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle": { + "description": "Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles.\n", + "properties": { + "channelName": { + "type": "string", + "description": "Your channel name.\n" + }, + "name": { + "type": "string", + "description": "Your tenant-based handle name.\n" + }, + "teamName": { + "type": "string", + "description": "Your team name.\n" + }, + "tenantName": { + "type": "string", + "description": "Your tenant name.\n" + } + }, + "required": [ + "channelName", + "name", + "teamName", + "tenantName" + ], + "inputProperties": { + "channelName": { + "type": "string", + "description": "Your channel name.\n" + }, + "name": { + "type": "string", + "description": "Your tenant-based handle name.\n" + }, + "teamName": { + "type": "string", + "description": "Your team name.\n" + }, + "tenantName": { + "type": "string", + "description": "Your tenant name.\n" + } + }, + "requiredInputs": [ + "channelName", + "name", + "teamName", + "tenantName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IntegrationTeamsTenantBasedHandle resources.\n", + "properties": { + "channelName": { + "type": "string", + "description": "Your channel name.\n" + }, + "name": { + "type": "string", + "description": "Your tenant-based handle name.\n" + }, + "teamName": { + "type": "string", + "description": "Your team name.\n" + }, + "tenantName": { + "type": "string", + "description": "Your tenant name.\n" + } + }, + "type": "object" + } + }, "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", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 90e79077a..1aa98ea32 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -38,7 +38,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/BurntSushi/toml v1.2.1 // indirect - github.com/DataDog/datadog-api-client-go/v2 v2.33.1-0.20241114153206-4637c31fedcf // indirect + github.com/DataDog/datadog-api-client-go/v2 v2.33.1-0.20241120195630-c33c4f106e88 // indirect github.com/DataDog/zstd v1.5.2 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 6310d39af..3899c9198 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1167,8 +1167,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DataDog/datadog-api-client-go/v2 v2.33.1-0.20241114153206-4637c31fedcf h1:ev4nydbonZI3p8JrKanDp2AfK6sScWgKgPoJ9OEDvvY= -github.com/DataDog/datadog-api-client-go/v2 v2.33.1-0.20241114153206-4637c31fedcf/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U= +github.com/DataDog/datadog-api-client-go/v2 v2.33.1-0.20241120195630-c33c4f106e88 h1:tyd/Jsn6fmvORRepj0CcwU6YhNHlMvRZieau+SSeYP0= +github.com/DataDog/datadog-api-client-go/v2 v2.33.1-0.20241120195630-c33c4f106e88/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U= github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= diff --git a/upstream b/upstream index 7cb3a9cbc..acb76e0a7 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 7cb3a9cbc1514b341a44d25e2604851d486d7543 +Subproject commit acb76e0a7a0b51dd04b1775553a138f8e061c273 From 1ee5cd440d9df80c2e17787202b71b590eef46fd Mon Sep 17 00:00:00 2001 From: "bot@pulumi.com" Date: Wed, 27 Nov 2024 03:19:58 +0000 Subject: [PATCH 2/2] make build_sdks --- sdk/dotnet/Inputs/RumMetricComputeArgs.cs | 38 ++ sdk/dotnet/Inputs/RumMetricComputeGetArgs.cs | 38 ++ sdk/dotnet/Inputs/RumMetricFilterArgs.cs | 26 + sdk/dotnet/Inputs/RumMetricFilterGetArgs.cs | 26 + sdk/dotnet/Inputs/RumMetricGroupByArgs.cs | 32 + sdk/dotnet/Inputs/RumMetricGroupByGetArgs.cs | 32 + sdk/dotnet/Inputs/RumMetricUniquenessArgs.cs | 26 + .../Inputs/RumMetricUniquenessGetArgs.cs | 26 + .../Inputs/SyntheticsTestBrowserStepArgs.cs | 12 + .../SyntheticsTestBrowserStepGetArgs.cs | 12 + .../Ms/IntegrationTeamsTenantBasedHandle.cs | 149 +++++ sdk/dotnet/Ms/README.md | 1 + sdk/dotnet/Outputs/RumMetricCompute.cs | 42 ++ sdk/dotnet/Outputs/RumMetricFilter.cs | 27 + sdk/dotnet/Outputs/RumMetricGroupBy.cs | 35 ++ sdk/dotnet/Outputs/RumMetricUniqueness.cs | 27 + .../Outputs/SyntheticsTestBrowserStep.cs | 14 + sdk/dotnet/RumMetric.cs | 165 +++++ sdk/dotnet/SensitiveDataScannerRule.cs | 6 +- sdk/go/datadog/init.go | 7 + sdk/go/datadog/ms/init.go | 44 ++ .../ms/integrationTeamsTenantBasedHandle.go | 273 ++++++++ sdk/go/datadog/pulumiTypes2.go | 589 ++++++++++++++++++ sdk/go/datadog/rumMetric.go | 279 +++++++++ sdk/go/datadog/sensitiveDataScannerRule.go | 12 +- sdk/java/build.gradle | 4 +- .../java/com/pulumi/datadog/RumMetric.java | 195 ++++++ .../com/pulumi/datadog/RumMetricArgs.java | 204 ++++++ .../datadog/SensitiveDataScannerRule.java | 4 +- .../datadog/SensitiveDataScannerRuleArgs.java | 8 +- .../datadog/inputs/RumMetricComputeArgs.java | 162 +++++ .../datadog/inputs/RumMetricFilterArgs.java | 83 +++ .../datadog/inputs/RumMetricGroupByArgs.java | 120 ++++ .../pulumi/datadog/inputs/RumMetricState.java | 197 ++++++ .../inputs/RumMetricUniquenessArgs.java | 83 +++ .../inputs/SensitiveDataScannerRuleState.java | 8 +- .../inputs/SyntheticsTestBrowserStepArgs.java | 74 +++ .../ms/IntegrationTeamsTenantBasedHandle.java | 134 ++++ ...IntegrationTeamsTenantBasedHandleArgs.java | 205 ++++++ ...ntegrationTeamsTenantBasedHandleState.java | 194 ++++++ .../datadog/outputs/RumMetricCompute.java | 103 +++ .../datadog/outputs/RumMetricFilter.java | 57 ++ .../datadog/outputs/RumMetricGroupBy.java | 78 +++ .../datadog/outputs/RumMetricUniqueness.java | 57 ++ .../outputs/SyntheticsTestBrowserStep.java | 42 ++ sdk/nodejs/index.ts | 10 + sdk/nodejs/ms/index.ts | 25 + .../ms/integrationTeamsTenantBasedHandle.ts | 138 ++++ sdk/nodejs/rumMetric.ts | 132 ++++ sdk/nodejs/sensitiveDataScannerRule.ts | 6 +- sdk/nodejs/tsconfig.json | 3 + sdk/nodejs/types/input.ts | 48 ++ sdk/nodejs/types/output.ts | 48 ++ sdk/python/pulumi_datadog/__init__.py | 20 + sdk/python/pulumi_datadog/_inputs.py | 235 +++++++ sdk/python/pulumi_datadog/ms/__init__.py | 8 + .../integration_teams_tenant_based_handle.py | 295 +++++++++ sdk/python/pulumi_datadog/outputs.py | 179 ++++++ sdk/python/pulumi_datadog/rum_metric.py | 349 +++++++++++ .../sensitive_data_scanner_rule.py | 14 +- 60 files changed, 5429 insertions(+), 31 deletions(-) create mode 100644 sdk/dotnet/Inputs/RumMetricComputeArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricComputeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricFilterArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricFilterGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricGroupByArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricGroupByGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricUniquenessArgs.cs create mode 100644 sdk/dotnet/Inputs/RumMetricUniquenessGetArgs.cs create mode 100644 sdk/dotnet/Ms/IntegrationTeamsTenantBasedHandle.cs create mode 100644 sdk/dotnet/Ms/README.md create mode 100644 sdk/dotnet/Outputs/RumMetricCompute.cs create mode 100644 sdk/dotnet/Outputs/RumMetricFilter.cs create mode 100644 sdk/dotnet/Outputs/RumMetricGroupBy.cs create mode 100644 sdk/dotnet/Outputs/RumMetricUniqueness.cs create mode 100644 sdk/dotnet/RumMetric.cs create mode 100644 sdk/go/datadog/ms/init.go create mode 100644 sdk/go/datadog/ms/integrationTeamsTenantBasedHandle.go create mode 100644 sdk/go/datadog/rumMetric.go create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/RumMetric.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/RumMetricArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricComputeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricFilterArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricGroupByArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricState.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricUniquenessArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandle.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/ms/inputs/IntegrationTeamsTenantBasedHandleState.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricCompute.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricFilter.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricGroupBy.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricUniqueness.java create mode 100644 sdk/nodejs/ms/index.ts create mode 100644 sdk/nodejs/ms/integrationTeamsTenantBasedHandle.ts create mode 100644 sdk/nodejs/rumMetric.ts create mode 100644 sdk/python/pulumi_datadog/ms/__init__.py create mode 100644 sdk/python/pulumi_datadog/ms/integration_teams_tenant_based_handle.py create mode 100644 sdk/python/pulumi_datadog/rum_metric.py diff --git a/sdk/dotnet/Inputs/RumMetricComputeArgs.cs b/sdk/dotnet/Inputs/RumMetricComputeArgs.cs new file mode 100644 index 000000000..449073c47 --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricComputeArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricComputeArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of aggregation to use. + /// + [Input("aggregationType", required: true)] + public Input AggregationType { get; set; } = null!; + + /// + /// Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + /// + [Input("includePercentiles")] + public Input? IncludePercentiles { get; set; } + + /// + /// The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + /// + [Input("path")] + public Input? Path { get; set; } + + public RumMetricComputeArgs() + { + } + public static new RumMetricComputeArgs Empty => new RumMetricComputeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricComputeGetArgs.cs b/sdk/dotnet/Inputs/RumMetricComputeGetArgs.cs new file mode 100644 index 000000000..e105d3972 --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricComputeGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricComputeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of aggregation to use. + /// + [Input("aggregationType", required: true)] + public Input AggregationType { get; set; } = null!; + + /// + /// Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + /// + [Input("includePercentiles")] + public Input? IncludePercentiles { get; set; } + + /// + /// The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + /// + [Input("path")] + public Input? Path { get; set; } + + public RumMetricComputeGetArgs() + { + } + public static new RumMetricComputeGetArgs Empty => new RumMetricComputeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricFilterArgs.cs b/sdk/dotnet/Inputs/RumMetricFilterArgs.cs new file mode 100644 index 000000000..a9989f3fe --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricFilterArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricFilterArgs : global::Pulumi.ResourceArgs + { + /// + /// The search query. Follows RUM search syntax. + /// + [Input("query")] + public Input? Query { get; set; } + + public RumMetricFilterArgs() + { + } + public static new RumMetricFilterArgs Empty => new RumMetricFilterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricFilterGetArgs.cs b/sdk/dotnet/Inputs/RumMetricFilterGetArgs.cs new file mode 100644 index 000000000..312c0e623 --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricFilterGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricFilterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The search query. Follows RUM search syntax. + /// + [Input("query")] + public Input? Query { get; set; } + + public RumMetricFilterGetArgs() + { + } + public static new RumMetricFilterGetArgs Empty => new RumMetricFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricGroupByArgs.cs b/sdk/dotnet/Inputs/RumMetricGroupByArgs.cs new file mode 100644 index 000000000..b1cd763cf --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricGroupByArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricGroupByArgs : global::Pulumi.ResourceArgs + { + /// + /// The path to the value the RUM-based metric will be aggregated over. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// Name of the tag that gets created. By default, `path` is used as the tag name. + /// + [Input("tagName")] + public Input? TagName { get; set; } + + public RumMetricGroupByArgs() + { + } + public static new RumMetricGroupByArgs Empty => new RumMetricGroupByArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricGroupByGetArgs.cs b/sdk/dotnet/Inputs/RumMetricGroupByGetArgs.cs new file mode 100644 index 000000000..608aa1a70 --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricGroupByGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricGroupByGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The path to the value the RUM-based metric will be aggregated over. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// Name of the tag that gets created. By default, `path` is used as the tag name. + /// + [Input("tagName")] + public Input? TagName { get; set; } + + public RumMetricGroupByGetArgs() + { + } + public static new RumMetricGroupByGetArgs Empty => new RumMetricGroupByGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricUniquenessArgs.cs b/sdk/dotnet/Inputs/RumMetricUniquenessArgs.cs new file mode 100644 index 000000000..3c72c69bd --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricUniquenessArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricUniquenessArgs : global::Pulumi.ResourceArgs + { + /// + /// When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + /// + [Input("when")] + public Input? When { get; set; } + + public RumMetricUniquenessArgs() + { + } + public static new RumMetricUniquenessArgs Empty => new RumMetricUniquenessArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumMetricUniquenessGetArgs.cs b/sdk/dotnet/Inputs/RumMetricUniquenessGetArgs.cs new file mode 100644 index 000000000..7c51c2ce6 --- /dev/null +++ b/sdk/dotnet/Inputs/RumMetricUniquenessGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class RumMetricUniquenessGetArgs : global::Pulumi.ResourceArgs + { + /// + /// When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + /// + [Input("when")] + public Input? When { get; set; } + + public RumMetricUniquenessGetArgs() + { + } + public static new RumMetricUniquenessGetArgs Empty => new RumMetricUniquenessGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestBrowserStepArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestBrowserStepArgs.cs index 60660a659..1a09d3205 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestBrowserStepArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestBrowserStepArgs.cs @@ -18,6 +18,18 @@ public sealed class SyntheticsTestBrowserStepArgs : global::Pulumi.ResourceArgs [Input("allowFailure")] public Input? AllowFailure { get; set; } + /// + /// Determines whether or not to always execute this step even if the previous step failed or was skipped. + /// + [Input("alwaysExecute")] + public Input? AlwaysExecute { get; set; } + + /// + /// Determines whether or not to exit the test if the step succeeds. + /// + [Input("exitIfSucceed")] + public Input? ExitIfSucceed { get; set; } + /// /// Force update of the "element" parameter for the step /// diff --git a/sdk/dotnet/Inputs/SyntheticsTestBrowserStepGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestBrowserStepGetArgs.cs index 953353030..1fb4dceed 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestBrowserStepGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestBrowserStepGetArgs.cs @@ -18,6 +18,18 @@ public sealed class SyntheticsTestBrowserStepGetArgs : global::Pulumi.ResourceAr [Input("allowFailure")] public Input? AllowFailure { get; set; } + /// + /// Determines whether or not to always execute this step even if the previous step failed or was skipped. + /// + [Input("alwaysExecute")] + public Input? AlwaysExecute { get; set; } + + /// + /// Determines whether or not to exit the test if the step succeeds. + /// + [Input("exitIfSucceed")] + public Input? ExitIfSucceed { get; set; } + /// /// Force update of the "element" parameter for the step /// diff --git a/sdk/dotnet/Ms/IntegrationTeamsTenantBasedHandle.cs b/sdk/dotnet/Ms/IntegrationTeamsTenantBasedHandle.cs new file mode 100644 index 000000000..53d10ca3e --- /dev/null +++ b/sdk/dotnet/Ms/IntegrationTeamsTenantBasedHandle.cs @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Ms +{ + /// + /// Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles. + /// + [DatadogResourceType("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle")] + public partial class IntegrationTeamsTenantBasedHandle : global::Pulumi.CustomResource + { + /// + /// Your channel name. + /// + [Output("channelName")] + public Output ChannelName { get; private set; } = null!; + + /// + /// Your tenant-based handle name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Your team name. + /// + [Output("teamName")] + public Output TeamName { get; private set; } = null!; + + /// + /// Your tenant name. + /// + [Output("tenantName")] + public Output TenantName { get; private set; } = null!; + + + /// + /// Create a IntegrationTeamsTenantBasedHandle resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public IntegrationTeamsTenantBasedHandle(string name, IntegrationTeamsTenantBasedHandleArgs args, CustomResourceOptions? options = null) + : base("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", name, args ?? new IntegrationTeamsTenantBasedHandleArgs(), MakeResourceOptions(options, "")) + { + } + + private IntegrationTeamsTenantBasedHandle(string name, Input id, IntegrationTeamsTenantBasedHandleState? state = null, CustomResourceOptions? options = null) + : base("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing IntegrationTeamsTenantBasedHandle resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static IntegrationTeamsTenantBasedHandle Get(string name, Input id, IntegrationTeamsTenantBasedHandleState? state = null, CustomResourceOptions? options = null) + { + return new IntegrationTeamsTenantBasedHandle(name, id, state, options); + } + } + + public sealed class IntegrationTeamsTenantBasedHandleArgs : global::Pulumi.ResourceArgs + { + /// + /// Your channel name. + /// + [Input("channelName", required: true)] + public Input ChannelName { get; set; } = null!; + + /// + /// Your tenant-based handle name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Your team name. + /// + [Input("teamName", required: true)] + public Input TeamName { get; set; } = null!; + + /// + /// Your tenant name. + /// + [Input("tenantName", required: true)] + public Input TenantName { get; set; } = null!; + + public IntegrationTeamsTenantBasedHandleArgs() + { + } + public static new IntegrationTeamsTenantBasedHandleArgs Empty => new IntegrationTeamsTenantBasedHandleArgs(); + } + + public sealed class IntegrationTeamsTenantBasedHandleState : global::Pulumi.ResourceArgs + { + /// + /// Your channel name. + /// + [Input("channelName")] + public Input? ChannelName { get; set; } + + /// + /// Your tenant-based handle name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Your team name. + /// + [Input("teamName")] + public Input? TeamName { get; set; } + + /// + /// Your tenant name. + /// + [Input("tenantName")] + public Input? TenantName { get; set; } + + public IntegrationTeamsTenantBasedHandleState() + { + } + public static new IntegrationTeamsTenantBasedHandleState Empty => new IntegrationTeamsTenantBasedHandleState(); + } +} diff --git a/sdk/dotnet/Ms/README.md b/sdk/dotnet/Ms/README.md new file mode 100644 index 000000000..1e1c053af --- /dev/null +++ b/sdk/dotnet/Ms/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Datadog resources. diff --git a/sdk/dotnet/Outputs/RumMetricCompute.cs b/sdk/dotnet/Outputs/RumMetricCompute.cs new file mode 100644 index 000000000..fddb6608b --- /dev/null +++ b/sdk/dotnet/Outputs/RumMetricCompute.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class RumMetricCompute + { + /// + /// The type of aggregation to use. + /// + public readonly string AggregationType; + /// + /// Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + /// + public readonly bool? IncludePercentiles; + /// + /// The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + /// + public readonly string? Path; + + [OutputConstructor] + private RumMetricCompute( + string aggregationType, + + bool? includePercentiles, + + string? path) + { + AggregationType = aggregationType; + IncludePercentiles = includePercentiles; + Path = path; + } + } +} diff --git a/sdk/dotnet/Outputs/RumMetricFilter.cs b/sdk/dotnet/Outputs/RumMetricFilter.cs new file mode 100644 index 000000000..a82dbd0d9 --- /dev/null +++ b/sdk/dotnet/Outputs/RumMetricFilter.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class RumMetricFilter + { + /// + /// The search query. Follows RUM search syntax. + /// + public readonly string? Query; + + [OutputConstructor] + private RumMetricFilter(string? query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/RumMetricGroupBy.cs b/sdk/dotnet/Outputs/RumMetricGroupBy.cs new file mode 100644 index 000000000..a3a516b33 --- /dev/null +++ b/sdk/dotnet/Outputs/RumMetricGroupBy.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class RumMetricGroupBy + { + /// + /// The path to the value the RUM-based metric will be aggregated over. + /// + public readonly string? Path; + /// + /// Name of the tag that gets created. By default, `path` is used as the tag name. + /// + public readonly string? TagName; + + [OutputConstructor] + private RumMetricGroupBy( + string? path, + + string? tagName) + { + Path = path; + TagName = tagName; + } + } +} diff --git a/sdk/dotnet/Outputs/RumMetricUniqueness.cs b/sdk/dotnet/Outputs/RumMetricUniqueness.cs new file mode 100644 index 000000000..6a6e394db --- /dev/null +++ b/sdk/dotnet/Outputs/RumMetricUniqueness.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class RumMetricUniqueness + { + /// + /// When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + /// + public readonly string? When; + + [OutputConstructor] + private RumMetricUniqueness(string? when) + { + When = when; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestBrowserStep.cs b/sdk/dotnet/Outputs/SyntheticsTestBrowserStep.cs index 85ec37176..cea2c0760 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestBrowserStep.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestBrowserStep.cs @@ -18,6 +18,14 @@ public sealed class SyntheticsTestBrowserStep /// public readonly bool? AllowFailure; /// + /// Determines whether or not to always execute this step even if the previous step failed or was skipped. + /// + public readonly bool? AlwaysExecute; + /// + /// Determines whether or not to exit the test if the step succeeds. + /// + public readonly bool? ExitIfSucceed; + /// /// Force update of the "element" parameter for the step /// public readonly bool? ForceElementUpdate; @@ -50,6 +58,10 @@ public sealed class SyntheticsTestBrowserStep private SyntheticsTestBrowserStep( bool? allowFailure, + bool? alwaysExecute, + + bool? exitIfSucceed, + bool? forceElementUpdate, bool? isCritical, @@ -65,6 +77,8 @@ private SyntheticsTestBrowserStep( string type) { AllowFailure = allowFailure; + AlwaysExecute = alwaysExecute; + ExitIfSucceed = exitIfSucceed; ForceElementUpdate = forceElementUpdate; IsCritical = isCritical; Name = name; diff --git a/sdk/dotnet/RumMetric.cs b/sdk/dotnet/RumMetric.cs new file mode 100644 index 000000000..5440a0da1 --- /dev/null +++ b/sdk/dotnet/RumMetric.cs @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog +{ + /// + /// Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_metric. + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric "testing.rum.metric" + /// ``` + /// + [DatadogResourceType("datadog:index/rumMetric:RumMetric")] + public partial class RumMetric : global::Pulumi.CustomResource + { + [Output("compute")] + public Output Compute { get; private set; } = null!; + + /// + /// The type of RUM events to filter on. + /// + [Output("eventType")] + public Output EventType { get; private set; } = null!; + + [Output("filter")] + public Output Filter { get; private set; } = null!; + + [Output("groupBies")] + public Output> GroupBies { get; private set; } = null!; + + /// + /// The name of the RUM-based metric. This field can't be updated after creation. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("uniqueness")] + public Output Uniqueness { get; private set; } = null!; + + + /// + /// Create a RumMetric resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public RumMetric(string name, RumMetricArgs args, CustomResourceOptions? options = null) + : base("datadog:index/rumMetric:RumMetric", name, args ?? new RumMetricArgs(), MakeResourceOptions(options, "")) + { + } + + private RumMetric(string name, Input id, RumMetricState? state = null, CustomResourceOptions? options = null) + : base("datadog:index/rumMetric:RumMetric", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing RumMetric resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static RumMetric Get(string name, Input id, RumMetricState? state = null, CustomResourceOptions? options = null) + { + return new RumMetric(name, id, state, options); + } + } + + public sealed class RumMetricArgs : global::Pulumi.ResourceArgs + { + [Input("compute")] + public Input? Compute { get; set; } + + /// + /// The type of RUM events to filter on. + /// + [Input("eventType", required: true)] + public Input EventType { get; set; } = null!; + + [Input("filter")] + public Input? Filter { get; set; } + + [Input("groupBies")] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + /// + /// The name of the RUM-based metric. This field can't be updated after creation. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("uniqueness")] + public Input? Uniqueness { get; set; } + + public RumMetricArgs() + { + } + public static new RumMetricArgs Empty => new RumMetricArgs(); + } + + public sealed class RumMetricState : global::Pulumi.ResourceArgs + { + [Input("compute")] + public Input? Compute { get; set; } + + /// + /// The type of RUM events to filter on. + /// + [Input("eventType")] + public Input? EventType { get; set; } + + [Input("filter")] + public Input? Filter { get; set; } + + [Input("groupBies")] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + /// + /// The name of the RUM-based metric. This field can't be updated after creation. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("uniqueness")] + public Input? Uniqueness { get; set; } + + public RumMetricState() + { + } + public static new RumMetricState Empty => new RumMetricState(); + } +} diff --git a/sdk/dotnet/SensitiveDataScannerRule.cs b/sdk/dotnet/SensitiveDataScannerRule.cs index 9de191c35..60e5bf783 100644 --- a/sdk/dotnet/SensitiveDataScannerRule.cs +++ b/sdk/dotnet/SensitiveDataScannerRule.cs @@ -40,7 +40,7 @@ public partial class SensitiveDataScannerRule : global::Pulumi.CustomResource public Output GroupId { get; private set; } = null!; /// - /// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + /// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. /// [Output("includedKeywordConfiguration")] public Output IncludedKeywordConfiguration { get; private set; } = null!; @@ -164,7 +164,7 @@ public InputList ExcludedNamespaces public Input GroupId { get; set; } = null!; /// - /// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + /// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. /// [Input("includedKeywordConfiguration")] public Input? IncludedKeywordConfiguration { get; set; } @@ -262,7 +262,7 @@ public InputList ExcludedNamespaces public Input? GroupId { get; set; } /// - /// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + /// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. /// [Input("includedKeywordConfiguration")] public Input? IncludedKeywordConfiguration { get; set; } diff --git a/sdk/go/datadog/init.go b/sdk/go/datadog/init.go index b635fd4c6..d07ed42ce 100644 --- a/sdk/go/datadog/init.go +++ b/sdk/go/datadog/init.go @@ -93,6 +93,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Role{} case "datadog:index/rumApplication:RumApplication": r = &RumApplication{} + case "datadog:index/rumMetric:RumMetric": + r = &RumMetric{} case "datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule": r = &SecurityMonitoringDefaultRule{} case "datadog:index/securityMonitoringFilter:SecurityMonitoringFilter": @@ -356,6 +358,11 @@ func init() { "index/rumApplication", &module{version}, ) + pulumi.RegisterResourceModule( + "datadog", + "index/rumMetric", + &module{version}, + ) pulumi.RegisterResourceModule( "datadog", "index/securityMonitoringDefaultRule", diff --git a/sdk/go/datadog/ms/init.go b/sdk/go/datadog/ms/init.go new file mode 100644 index 000000000..5f94ea98f --- /dev/null +++ b/sdk/go/datadog/ms/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ms + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle": + r = &IntegrationTeamsTenantBasedHandle{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "datadog", + "ms/integrationTeamsTenantBasedHandle", + &module{version}, + ) +} diff --git a/sdk/go/datadog/ms/integrationTeamsTenantBasedHandle.go b/sdk/go/datadog/ms/integrationTeamsTenantBasedHandle.go new file mode 100644 index 000000000..33539b62a --- /dev/null +++ b/sdk/go/datadog/ms/integrationTeamsTenantBasedHandle.go @@ -0,0 +1,273 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ms + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles. +type IntegrationTeamsTenantBasedHandle struct { + pulumi.CustomResourceState + + // Your channel name. + ChannelName pulumi.StringOutput `pulumi:"channelName"` + // Your tenant-based handle name. + Name pulumi.StringOutput `pulumi:"name"` + // Your team name. + TeamName pulumi.StringOutput `pulumi:"teamName"` + // Your tenant name. + TenantName pulumi.StringOutput `pulumi:"tenantName"` +} + +// NewIntegrationTeamsTenantBasedHandle registers a new resource with the given unique name, arguments, and options. +func NewIntegrationTeamsTenantBasedHandle(ctx *pulumi.Context, + name string, args *IntegrationTeamsTenantBasedHandleArgs, opts ...pulumi.ResourceOption) (*IntegrationTeamsTenantBasedHandle, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ChannelName == nil { + return nil, errors.New("invalid value for required argument 'ChannelName'") + } + if args.Name == nil { + return nil, errors.New("invalid value for required argument 'Name'") + } + if args.TeamName == nil { + return nil, errors.New("invalid value for required argument 'TeamName'") + } + if args.TenantName == nil { + return nil, errors.New("invalid value for required argument 'TenantName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IntegrationTeamsTenantBasedHandle + err := ctx.RegisterResource("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIntegrationTeamsTenantBasedHandle gets an existing IntegrationTeamsTenantBasedHandle resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIntegrationTeamsTenantBasedHandle(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IntegrationTeamsTenantBasedHandleState, opts ...pulumi.ResourceOption) (*IntegrationTeamsTenantBasedHandle, error) { + var resource IntegrationTeamsTenantBasedHandle + err := ctx.ReadResource("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IntegrationTeamsTenantBasedHandle resources. +type integrationTeamsTenantBasedHandleState struct { + // Your channel name. + ChannelName *string `pulumi:"channelName"` + // Your tenant-based handle name. + Name *string `pulumi:"name"` + // Your team name. + TeamName *string `pulumi:"teamName"` + // Your tenant name. + TenantName *string `pulumi:"tenantName"` +} + +type IntegrationTeamsTenantBasedHandleState struct { + // Your channel name. + ChannelName pulumi.StringPtrInput + // Your tenant-based handle name. + Name pulumi.StringPtrInput + // Your team name. + TeamName pulumi.StringPtrInput + // Your tenant name. + TenantName pulumi.StringPtrInput +} + +func (IntegrationTeamsTenantBasedHandleState) ElementType() reflect.Type { + return reflect.TypeOf((*integrationTeamsTenantBasedHandleState)(nil)).Elem() +} + +type integrationTeamsTenantBasedHandleArgs struct { + // Your channel name. + ChannelName string `pulumi:"channelName"` + // Your tenant-based handle name. + Name string `pulumi:"name"` + // Your team name. + TeamName string `pulumi:"teamName"` + // Your tenant name. + TenantName string `pulumi:"tenantName"` +} + +// The set of arguments for constructing a IntegrationTeamsTenantBasedHandle resource. +type IntegrationTeamsTenantBasedHandleArgs struct { + // Your channel name. + ChannelName pulumi.StringInput + // Your tenant-based handle name. + Name pulumi.StringInput + // Your team name. + TeamName pulumi.StringInput + // Your tenant name. + TenantName pulumi.StringInput +} + +func (IntegrationTeamsTenantBasedHandleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*integrationTeamsTenantBasedHandleArgs)(nil)).Elem() +} + +type IntegrationTeamsTenantBasedHandleInput interface { + pulumi.Input + + ToIntegrationTeamsTenantBasedHandleOutput() IntegrationTeamsTenantBasedHandleOutput + ToIntegrationTeamsTenantBasedHandleOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleOutput +} + +func (*IntegrationTeamsTenantBasedHandle) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationTeamsTenantBasedHandle)(nil)).Elem() +} + +func (i *IntegrationTeamsTenantBasedHandle) ToIntegrationTeamsTenantBasedHandleOutput() IntegrationTeamsTenantBasedHandleOutput { + return i.ToIntegrationTeamsTenantBasedHandleOutputWithContext(context.Background()) +} + +func (i *IntegrationTeamsTenantBasedHandle) ToIntegrationTeamsTenantBasedHandleOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationTeamsTenantBasedHandleOutput) +} + +// IntegrationTeamsTenantBasedHandleArrayInput is an input type that accepts IntegrationTeamsTenantBasedHandleArray and IntegrationTeamsTenantBasedHandleArrayOutput values. +// You can construct a concrete instance of `IntegrationTeamsTenantBasedHandleArrayInput` via: +// +// IntegrationTeamsTenantBasedHandleArray{ IntegrationTeamsTenantBasedHandleArgs{...} } +type IntegrationTeamsTenantBasedHandleArrayInput interface { + pulumi.Input + + ToIntegrationTeamsTenantBasedHandleArrayOutput() IntegrationTeamsTenantBasedHandleArrayOutput + ToIntegrationTeamsTenantBasedHandleArrayOutputWithContext(context.Context) IntegrationTeamsTenantBasedHandleArrayOutput +} + +type IntegrationTeamsTenantBasedHandleArray []IntegrationTeamsTenantBasedHandleInput + +func (IntegrationTeamsTenantBasedHandleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationTeamsTenantBasedHandle)(nil)).Elem() +} + +func (i IntegrationTeamsTenantBasedHandleArray) ToIntegrationTeamsTenantBasedHandleArrayOutput() IntegrationTeamsTenantBasedHandleArrayOutput { + return i.ToIntegrationTeamsTenantBasedHandleArrayOutputWithContext(context.Background()) +} + +func (i IntegrationTeamsTenantBasedHandleArray) ToIntegrationTeamsTenantBasedHandleArrayOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationTeamsTenantBasedHandleArrayOutput) +} + +// IntegrationTeamsTenantBasedHandleMapInput is an input type that accepts IntegrationTeamsTenantBasedHandleMap and IntegrationTeamsTenantBasedHandleMapOutput values. +// You can construct a concrete instance of `IntegrationTeamsTenantBasedHandleMapInput` via: +// +// IntegrationTeamsTenantBasedHandleMap{ "key": IntegrationTeamsTenantBasedHandleArgs{...} } +type IntegrationTeamsTenantBasedHandleMapInput interface { + pulumi.Input + + ToIntegrationTeamsTenantBasedHandleMapOutput() IntegrationTeamsTenantBasedHandleMapOutput + ToIntegrationTeamsTenantBasedHandleMapOutputWithContext(context.Context) IntegrationTeamsTenantBasedHandleMapOutput +} + +type IntegrationTeamsTenantBasedHandleMap map[string]IntegrationTeamsTenantBasedHandleInput + +func (IntegrationTeamsTenantBasedHandleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationTeamsTenantBasedHandle)(nil)).Elem() +} + +func (i IntegrationTeamsTenantBasedHandleMap) ToIntegrationTeamsTenantBasedHandleMapOutput() IntegrationTeamsTenantBasedHandleMapOutput { + return i.ToIntegrationTeamsTenantBasedHandleMapOutputWithContext(context.Background()) +} + +func (i IntegrationTeamsTenantBasedHandleMap) ToIntegrationTeamsTenantBasedHandleMapOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationTeamsTenantBasedHandleMapOutput) +} + +type IntegrationTeamsTenantBasedHandleOutput struct{ *pulumi.OutputState } + +func (IntegrationTeamsTenantBasedHandleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationTeamsTenantBasedHandle)(nil)).Elem() +} + +func (o IntegrationTeamsTenantBasedHandleOutput) ToIntegrationTeamsTenantBasedHandleOutput() IntegrationTeamsTenantBasedHandleOutput { + return o +} + +func (o IntegrationTeamsTenantBasedHandleOutput) ToIntegrationTeamsTenantBasedHandleOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleOutput { + return o +} + +// Your channel name. +func (o IntegrationTeamsTenantBasedHandleOutput) ChannelName() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationTeamsTenantBasedHandle) pulumi.StringOutput { return v.ChannelName }).(pulumi.StringOutput) +} + +// Your tenant-based handle name. +func (o IntegrationTeamsTenantBasedHandleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationTeamsTenantBasedHandle) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Your team name. +func (o IntegrationTeamsTenantBasedHandleOutput) TeamName() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationTeamsTenantBasedHandle) pulumi.StringOutput { return v.TeamName }).(pulumi.StringOutput) +} + +// Your tenant name. +func (o IntegrationTeamsTenantBasedHandleOutput) TenantName() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationTeamsTenantBasedHandle) pulumi.StringOutput { return v.TenantName }).(pulumi.StringOutput) +} + +type IntegrationTeamsTenantBasedHandleArrayOutput struct{ *pulumi.OutputState } + +func (IntegrationTeamsTenantBasedHandleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationTeamsTenantBasedHandle)(nil)).Elem() +} + +func (o IntegrationTeamsTenantBasedHandleArrayOutput) ToIntegrationTeamsTenantBasedHandleArrayOutput() IntegrationTeamsTenantBasedHandleArrayOutput { + return o +} + +func (o IntegrationTeamsTenantBasedHandleArrayOutput) ToIntegrationTeamsTenantBasedHandleArrayOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleArrayOutput { + return o +} + +func (o IntegrationTeamsTenantBasedHandleArrayOutput) Index(i pulumi.IntInput) IntegrationTeamsTenantBasedHandleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IntegrationTeamsTenantBasedHandle { + return vs[0].([]*IntegrationTeamsTenantBasedHandle)[vs[1].(int)] + }).(IntegrationTeamsTenantBasedHandleOutput) +} + +type IntegrationTeamsTenantBasedHandleMapOutput struct{ *pulumi.OutputState } + +func (IntegrationTeamsTenantBasedHandleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationTeamsTenantBasedHandle)(nil)).Elem() +} + +func (o IntegrationTeamsTenantBasedHandleMapOutput) ToIntegrationTeamsTenantBasedHandleMapOutput() IntegrationTeamsTenantBasedHandleMapOutput { + return o +} + +func (o IntegrationTeamsTenantBasedHandleMapOutput) ToIntegrationTeamsTenantBasedHandleMapOutputWithContext(ctx context.Context) IntegrationTeamsTenantBasedHandleMapOutput { + return o +} + +func (o IntegrationTeamsTenantBasedHandleMapOutput) MapIndex(k pulumi.StringInput) IntegrationTeamsTenantBasedHandleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IntegrationTeamsTenantBasedHandle { + return vs[0].(map[string]*IntegrationTeamsTenantBasedHandle)[vs[1].(string)] + }).(IntegrationTeamsTenantBasedHandleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationTeamsTenantBasedHandleInput)(nil)).Elem(), &IntegrationTeamsTenantBasedHandle{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationTeamsTenantBasedHandleArrayInput)(nil)).Elem(), IntegrationTeamsTenantBasedHandleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationTeamsTenantBasedHandleMapInput)(nil)).Elem(), IntegrationTeamsTenantBasedHandleMap{}) + pulumi.RegisterOutputType(IntegrationTeamsTenantBasedHandleOutput{}) + pulumi.RegisterOutputType(IntegrationTeamsTenantBasedHandleArrayOutput{}) + pulumi.RegisterOutputType(IntegrationTeamsTenantBasedHandleMapOutput{}) +} diff --git a/sdk/go/datadog/pulumiTypes2.go b/sdk/go/datadog/pulumiTypes2.go index f18bb718b..78b7a7a57 100644 --- a/sdk/go/datadog/pulumiTypes2.go +++ b/sdk/go/datadog/pulumiTypes2.go @@ -225,6 +225,561 @@ func (o RolePermissionArrayOutput) Index(i pulumi.IntInput) RolePermissionOutput }).(RolePermissionOutput) } +type RumMetricCompute struct { + // The type of aggregation to use. + AggregationType string `pulumi:"aggregationType"` + // Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. + IncludePercentiles *bool `pulumi:"includePercentiles"` + // The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. + Path *string `pulumi:"path"` +} + +// RumMetricComputeInput is an input type that accepts RumMetricComputeArgs and RumMetricComputeOutput values. +// You can construct a concrete instance of `RumMetricComputeInput` via: +// +// RumMetricComputeArgs{...} +type RumMetricComputeInput interface { + pulumi.Input + + ToRumMetricComputeOutput() RumMetricComputeOutput + ToRumMetricComputeOutputWithContext(context.Context) RumMetricComputeOutput +} + +type RumMetricComputeArgs struct { + // The type of aggregation to use. + AggregationType pulumi.StringInput `pulumi:"aggregationType"` + // Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. + IncludePercentiles pulumi.BoolPtrInput `pulumi:"includePercentiles"` + // The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. + Path pulumi.StringPtrInput `pulumi:"path"` +} + +func (RumMetricComputeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricCompute)(nil)).Elem() +} + +func (i RumMetricComputeArgs) ToRumMetricComputeOutput() RumMetricComputeOutput { + return i.ToRumMetricComputeOutputWithContext(context.Background()) +} + +func (i RumMetricComputeArgs) ToRumMetricComputeOutputWithContext(ctx context.Context) RumMetricComputeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricComputeOutput) +} + +func (i RumMetricComputeArgs) ToRumMetricComputePtrOutput() RumMetricComputePtrOutput { + return i.ToRumMetricComputePtrOutputWithContext(context.Background()) +} + +func (i RumMetricComputeArgs) ToRumMetricComputePtrOutputWithContext(ctx context.Context) RumMetricComputePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricComputeOutput).ToRumMetricComputePtrOutputWithContext(ctx) +} + +// RumMetricComputePtrInput is an input type that accepts RumMetricComputeArgs, RumMetricComputePtr and RumMetricComputePtrOutput values. +// You can construct a concrete instance of `RumMetricComputePtrInput` via: +// +// RumMetricComputeArgs{...} +// +// or: +// +// nil +type RumMetricComputePtrInput interface { + pulumi.Input + + ToRumMetricComputePtrOutput() RumMetricComputePtrOutput + ToRumMetricComputePtrOutputWithContext(context.Context) RumMetricComputePtrOutput +} + +type rumMetricComputePtrType RumMetricComputeArgs + +func RumMetricComputePtr(v *RumMetricComputeArgs) RumMetricComputePtrInput { + return (*rumMetricComputePtrType)(v) +} + +func (*rumMetricComputePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetricCompute)(nil)).Elem() +} + +func (i *rumMetricComputePtrType) ToRumMetricComputePtrOutput() RumMetricComputePtrOutput { + return i.ToRumMetricComputePtrOutputWithContext(context.Background()) +} + +func (i *rumMetricComputePtrType) ToRumMetricComputePtrOutputWithContext(ctx context.Context) RumMetricComputePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricComputePtrOutput) +} + +type RumMetricComputeOutput struct{ *pulumi.OutputState } + +func (RumMetricComputeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricCompute)(nil)).Elem() +} + +func (o RumMetricComputeOutput) ToRumMetricComputeOutput() RumMetricComputeOutput { + return o +} + +func (o RumMetricComputeOutput) ToRumMetricComputeOutputWithContext(ctx context.Context) RumMetricComputeOutput { + return o +} + +func (o RumMetricComputeOutput) ToRumMetricComputePtrOutput() RumMetricComputePtrOutput { + return o.ToRumMetricComputePtrOutputWithContext(context.Background()) +} + +func (o RumMetricComputeOutput) ToRumMetricComputePtrOutputWithContext(ctx context.Context) RumMetricComputePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RumMetricCompute) *RumMetricCompute { + return &v + }).(RumMetricComputePtrOutput) +} + +// The type of aggregation to use. +func (o RumMetricComputeOutput) AggregationType() pulumi.StringOutput { + return o.ApplyT(func(v RumMetricCompute) string { return v.AggregationType }).(pulumi.StringOutput) +} + +// Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. +func (o RumMetricComputeOutput) IncludePercentiles() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RumMetricCompute) *bool { return v.IncludePercentiles }).(pulumi.BoolPtrOutput) +} + +// The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. +func (o RumMetricComputeOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumMetricCompute) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +type RumMetricComputePtrOutput struct{ *pulumi.OutputState } + +func (RumMetricComputePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetricCompute)(nil)).Elem() +} + +func (o RumMetricComputePtrOutput) ToRumMetricComputePtrOutput() RumMetricComputePtrOutput { + return o +} + +func (o RumMetricComputePtrOutput) ToRumMetricComputePtrOutputWithContext(ctx context.Context) RumMetricComputePtrOutput { + return o +} + +func (o RumMetricComputePtrOutput) Elem() RumMetricComputeOutput { + return o.ApplyT(func(v *RumMetricCompute) RumMetricCompute { + if v != nil { + return *v + } + var ret RumMetricCompute + return ret + }).(RumMetricComputeOutput) +} + +// The type of aggregation to use. +func (o RumMetricComputePtrOutput) AggregationType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumMetricCompute) *string { + if v == nil { + return nil + } + return &v.AggregationType + }).(pulumi.StringPtrOutput) +} + +// Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. +func (o RumMetricComputePtrOutput) IncludePercentiles() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RumMetricCompute) *bool { + if v == nil { + return nil + } + return v.IncludePercentiles + }).(pulumi.BoolPtrOutput) +} + +// The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. +func (o RumMetricComputePtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumMetricCompute) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) +} + +type RumMetricFilter struct { + // The search query. Follows RUM search syntax. + Query *string `pulumi:"query"` +} + +// RumMetricFilterInput is an input type that accepts RumMetricFilterArgs and RumMetricFilterOutput values. +// You can construct a concrete instance of `RumMetricFilterInput` via: +// +// RumMetricFilterArgs{...} +type RumMetricFilterInput interface { + pulumi.Input + + ToRumMetricFilterOutput() RumMetricFilterOutput + ToRumMetricFilterOutputWithContext(context.Context) RumMetricFilterOutput +} + +type RumMetricFilterArgs struct { + // The search query. Follows RUM search syntax. + Query pulumi.StringPtrInput `pulumi:"query"` +} + +func (RumMetricFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricFilter)(nil)).Elem() +} + +func (i RumMetricFilterArgs) ToRumMetricFilterOutput() RumMetricFilterOutput { + return i.ToRumMetricFilterOutputWithContext(context.Background()) +} + +func (i RumMetricFilterArgs) ToRumMetricFilterOutputWithContext(ctx context.Context) RumMetricFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricFilterOutput) +} + +func (i RumMetricFilterArgs) ToRumMetricFilterPtrOutput() RumMetricFilterPtrOutput { + return i.ToRumMetricFilterPtrOutputWithContext(context.Background()) +} + +func (i RumMetricFilterArgs) ToRumMetricFilterPtrOutputWithContext(ctx context.Context) RumMetricFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricFilterOutput).ToRumMetricFilterPtrOutputWithContext(ctx) +} + +// RumMetricFilterPtrInput is an input type that accepts RumMetricFilterArgs, RumMetricFilterPtr and RumMetricFilterPtrOutput values. +// You can construct a concrete instance of `RumMetricFilterPtrInput` via: +// +// RumMetricFilterArgs{...} +// +// or: +// +// nil +type RumMetricFilterPtrInput interface { + pulumi.Input + + ToRumMetricFilterPtrOutput() RumMetricFilterPtrOutput + ToRumMetricFilterPtrOutputWithContext(context.Context) RumMetricFilterPtrOutput +} + +type rumMetricFilterPtrType RumMetricFilterArgs + +func RumMetricFilterPtr(v *RumMetricFilterArgs) RumMetricFilterPtrInput { + return (*rumMetricFilterPtrType)(v) +} + +func (*rumMetricFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetricFilter)(nil)).Elem() +} + +func (i *rumMetricFilterPtrType) ToRumMetricFilterPtrOutput() RumMetricFilterPtrOutput { + return i.ToRumMetricFilterPtrOutputWithContext(context.Background()) +} + +func (i *rumMetricFilterPtrType) ToRumMetricFilterPtrOutputWithContext(ctx context.Context) RumMetricFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricFilterPtrOutput) +} + +type RumMetricFilterOutput struct{ *pulumi.OutputState } + +func (RumMetricFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricFilter)(nil)).Elem() +} + +func (o RumMetricFilterOutput) ToRumMetricFilterOutput() RumMetricFilterOutput { + return o +} + +func (o RumMetricFilterOutput) ToRumMetricFilterOutputWithContext(ctx context.Context) RumMetricFilterOutput { + return o +} + +func (o RumMetricFilterOutput) ToRumMetricFilterPtrOutput() RumMetricFilterPtrOutput { + return o.ToRumMetricFilterPtrOutputWithContext(context.Background()) +} + +func (o RumMetricFilterOutput) ToRumMetricFilterPtrOutputWithContext(ctx context.Context) RumMetricFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RumMetricFilter) *RumMetricFilter { + return &v + }).(RumMetricFilterPtrOutput) +} + +// The search query. Follows RUM search syntax. +func (o RumMetricFilterOutput) Query() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumMetricFilter) *string { return v.Query }).(pulumi.StringPtrOutput) +} + +type RumMetricFilterPtrOutput struct{ *pulumi.OutputState } + +func (RumMetricFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetricFilter)(nil)).Elem() +} + +func (o RumMetricFilterPtrOutput) ToRumMetricFilterPtrOutput() RumMetricFilterPtrOutput { + return o +} + +func (o RumMetricFilterPtrOutput) ToRumMetricFilterPtrOutputWithContext(ctx context.Context) RumMetricFilterPtrOutput { + return o +} + +func (o RumMetricFilterPtrOutput) Elem() RumMetricFilterOutput { + return o.ApplyT(func(v *RumMetricFilter) RumMetricFilter { + if v != nil { + return *v + } + var ret RumMetricFilter + return ret + }).(RumMetricFilterOutput) +} + +// The search query. Follows RUM search syntax. +func (o RumMetricFilterPtrOutput) Query() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumMetricFilter) *string { + if v == nil { + return nil + } + return v.Query + }).(pulumi.StringPtrOutput) +} + +type RumMetricGroupBy struct { + // The path to the value the RUM-based metric will be aggregated over. + Path *string `pulumi:"path"` + // Name of the tag that gets created. By default, `path` is used as the tag name. + TagName *string `pulumi:"tagName"` +} + +// RumMetricGroupByInput is an input type that accepts RumMetricGroupByArgs and RumMetricGroupByOutput values. +// You can construct a concrete instance of `RumMetricGroupByInput` via: +// +// RumMetricGroupByArgs{...} +type RumMetricGroupByInput interface { + pulumi.Input + + ToRumMetricGroupByOutput() RumMetricGroupByOutput + ToRumMetricGroupByOutputWithContext(context.Context) RumMetricGroupByOutput +} + +type RumMetricGroupByArgs struct { + // The path to the value the RUM-based metric will be aggregated over. + Path pulumi.StringPtrInput `pulumi:"path"` + // Name of the tag that gets created. By default, `path` is used as the tag name. + TagName pulumi.StringPtrInput `pulumi:"tagName"` +} + +func (RumMetricGroupByArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricGroupBy)(nil)).Elem() +} + +func (i RumMetricGroupByArgs) ToRumMetricGroupByOutput() RumMetricGroupByOutput { + return i.ToRumMetricGroupByOutputWithContext(context.Background()) +} + +func (i RumMetricGroupByArgs) ToRumMetricGroupByOutputWithContext(ctx context.Context) RumMetricGroupByOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricGroupByOutput) +} + +// RumMetricGroupByArrayInput is an input type that accepts RumMetricGroupByArray and RumMetricGroupByArrayOutput values. +// You can construct a concrete instance of `RumMetricGroupByArrayInput` via: +// +// RumMetricGroupByArray{ RumMetricGroupByArgs{...} } +type RumMetricGroupByArrayInput interface { + pulumi.Input + + ToRumMetricGroupByArrayOutput() RumMetricGroupByArrayOutput + ToRumMetricGroupByArrayOutputWithContext(context.Context) RumMetricGroupByArrayOutput +} + +type RumMetricGroupByArray []RumMetricGroupByInput + +func (RumMetricGroupByArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RumMetricGroupBy)(nil)).Elem() +} + +func (i RumMetricGroupByArray) ToRumMetricGroupByArrayOutput() RumMetricGroupByArrayOutput { + return i.ToRumMetricGroupByArrayOutputWithContext(context.Background()) +} + +func (i RumMetricGroupByArray) ToRumMetricGroupByArrayOutputWithContext(ctx context.Context) RumMetricGroupByArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricGroupByArrayOutput) +} + +type RumMetricGroupByOutput struct{ *pulumi.OutputState } + +func (RumMetricGroupByOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricGroupBy)(nil)).Elem() +} + +func (o RumMetricGroupByOutput) ToRumMetricGroupByOutput() RumMetricGroupByOutput { + return o +} + +func (o RumMetricGroupByOutput) ToRumMetricGroupByOutputWithContext(ctx context.Context) RumMetricGroupByOutput { + return o +} + +// The path to the value the RUM-based metric will be aggregated over. +func (o RumMetricGroupByOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumMetricGroupBy) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// Name of the tag that gets created. By default, `path` is used as the tag name. +func (o RumMetricGroupByOutput) TagName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumMetricGroupBy) *string { return v.TagName }).(pulumi.StringPtrOutput) +} + +type RumMetricGroupByArrayOutput struct{ *pulumi.OutputState } + +func (RumMetricGroupByArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RumMetricGroupBy)(nil)).Elem() +} + +func (o RumMetricGroupByArrayOutput) ToRumMetricGroupByArrayOutput() RumMetricGroupByArrayOutput { + return o +} + +func (o RumMetricGroupByArrayOutput) ToRumMetricGroupByArrayOutputWithContext(ctx context.Context) RumMetricGroupByArrayOutput { + return o +} + +func (o RumMetricGroupByArrayOutput) Index(i pulumi.IntInput) RumMetricGroupByOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RumMetricGroupBy { + return vs[0].([]RumMetricGroupBy)[vs[1].(int)] + }).(RumMetricGroupByOutput) +} + +type RumMetricUniqueness struct { + // When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + When *string `pulumi:"when"` +} + +// RumMetricUniquenessInput is an input type that accepts RumMetricUniquenessArgs and RumMetricUniquenessOutput values. +// You can construct a concrete instance of `RumMetricUniquenessInput` via: +// +// RumMetricUniquenessArgs{...} +type RumMetricUniquenessInput interface { + pulumi.Input + + ToRumMetricUniquenessOutput() RumMetricUniquenessOutput + ToRumMetricUniquenessOutputWithContext(context.Context) RumMetricUniquenessOutput +} + +type RumMetricUniquenessArgs struct { + // When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + When pulumi.StringPtrInput `pulumi:"when"` +} + +func (RumMetricUniquenessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricUniqueness)(nil)).Elem() +} + +func (i RumMetricUniquenessArgs) ToRumMetricUniquenessOutput() RumMetricUniquenessOutput { + return i.ToRumMetricUniquenessOutputWithContext(context.Background()) +} + +func (i RumMetricUniquenessArgs) ToRumMetricUniquenessOutputWithContext(ctx context.Context) RumMetricUniquenessOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricUniquenessOutput) +} + +func (i RumMetricUniquenessArgs) ToRumMetricUniquenessPtrOutput() RumMetricUniquenessPtrOutput { + return i.ToRumMetricUniquenessPtrOutputWithContext(context.Background()) +} + +func (i RumMetricUniquenessArgs) ToRumMetricUniquenessPtrOutputWithContext(ctx context.Context) RumMetricUniquenessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricUniquenessOutput).ToRumMetricUniquenessPtrOutputWithContext(ctx) +} + +// RumMetricUniquenessPtrInput is an input type that accepts RumMetricUniquenessArgs, RumMetricUniquenessPtr and RumMetricUniquenessPtrOutput values. +// You can construct a concrete instance of `RumMetricUniquenessPtrInput` via: +// +// RumMetricUniquenessArgs{...} +// +// or: +// +// nil +type RumMetricUniquenessPtrInput interface { + pulumi.Input + + ToRumMetricUniquenessPtrOutput() RumMetricUniquenessPtrOutput + ToRumMetricUniquenessPtrOutputWithContext(context.Context) RumMetricUniquenessPtrOutput +} + +type rumMetricUniquenessPtrType RumMetricUniquenessArgs + +func RumMetricUniquenessPtr(v *RumMetricUniquenessArgs) RumMetricUniquenessPtrInput { + return (*rumMetricUniquenessPtrType)(v) +} + +func (*rumMetricUniquenessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetricUniqueness)(nil)).Elem() +} + +func (i *rumMetricUniquenessPtrType) ToRumMetricUniquenessPtrOutput() RumMetricUniquenessPtrOutput { + return i.ToRumMetricUniquenessPtrOutputWithContext(context.Background()) +} + +func (i *rumMetricUniquenessPtrType) ToRumMetricUniquenessPtrOutputWithContext(ctx context.Context) RumMetricUniquenessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricUniquenessPtrOutput) +} + +type RumMetricUniquenessOutput struct{ *pulumi.OutputState } + +func (RumMetricUniquenessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumMetricUniqueness)(nil)).Elem() +} + +func (o RumMetricUniquenessOutput) ToRumMetricUniquenessOutput() RumMetricUniquenessOutput { + return o +} + +func (o RumMetricUniquenessOutput) ToRumMetricUniquenessOutputWithContext(ctx context.Context) RumMetricUniquenessOutput { + return o +} + +func (o RumMetricUniquenessOutput) ToRumMetricUniquenessPtrOutput() RumMetricUniquenessPtrOutput { + return o.ToRumMetricUniquenessPtrOutputWithContext(context.Background()) +} + +func (o RumMetricUniquenessOutput) ToRumMetricUniquenessPtrOutputWithContext(ctx context.Context) RumMetricUniquenessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RumMetricUniqueness) *RumMetricUniqueness { + return &v + }).(RumMetricUniquenessPtrOutput) +} + +// When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. +func (o RumMetricUniquenessOutput) When() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumMetricUniqueness) *string { return v.When }).(pulumi.StringPtrOutput) +} + +type RumMetricUniquenessPtrOutput struct{ *pulumi.OutputState } + +func (RumMetricUniquenessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetricUniqueness)(nil)).Elem() +} + +func (o RumMetricUniquenessPtrOutput) ToRumMetricUniquenessPtrOutput() RumMetricUniquenessPtrOutput { + return o +} + +func (o RumMetricUniquenessPtrOutput) ToRumMetricUniquenessPtrOutputWithContext(ctx context.Context) RumMetricUniquenessPtrOutput { + return o +} + +func (o RumMetricUniquenessPtrOutput) Elem() RumMetricUniquenessOutput { + return o.ApplyT(func(v *RumMetricUniqueness) RumMetricUniqueness { + if v != nil { + return *v + } + var ret RumMetricUniqueness + return ret + }).(RumMetricUniquenessOutput) +} + +// When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. +func (o RumMetricUniquenessPtrOutput) When() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumMetricUniqueness) *string { + if v == nil { + return nil + } + return v.When + }).(pulumi.StringPtrOutput) +} + type SecurityMonitoringDefaultRuleCase struct { // Notification targets for each rule case. Notifications []string `pulumi:"notifications"` @@ -9097,6 +9652,10 @@ func (o SyntheticsTestAssertionTargetxpathPtrOutput) Xpath() pulumi.StringPtrOut type SyntheticsTestBrowserStep struct { // Determines if the step should be allowed to fail. AllowFailure *bool `pulumi:"allowFailure"` + // Determines whether or not to always execute this step even if the previous step failed or was skipped. + AlwaysExecute *bool `pulumi:"alwaysExecute"` + // Determines whether or not to exit the test if the step succeeds. + ExitIfSucceed *bool `pulumi:"exitIfSucceed"` // Force update of the "element" parameter for the step ForceElementUpdate *bool `pulumi:"forceElementUpdate"` // Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allowFailure` is `true`. @@ -9127,6 +9686,10 @@ type SyntheticsTestBrowserStepInput interface { type SyntheticsTestBrowserStepArgs struct { // Determines if the step should be allowed to fail. AllowFailure pulumi.BoolPtrInput `pulumi:"allowFailure"` + // Determines whether or not to always execute this step even if the previous step failed or was skipped. + AlwaysExecute pulumi.BoolPtrInput `pulumi:"alwaysExecute"` + // Determines whether or not to exit the test if the step succeeds. + ExitIfSucceed pulumi.BoolPtrInput `pulumi:"exitIfSucceed"` // Force update of the "element" parameter for the step ForceElementUpdate pulumi.BoolPtrInput `pulumi:"forceElementUpdate"` // Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allowFailure` is `true`. @@ -9199,6 +9762,16 @@ func (o SyntheticsTestBrowserStepOutput) AllowFailure() pulumi.BoolPtrOutput { return o.ApplyT(func(v SyntheticsTestBrowserStep) *bool { return v.AllowFailure }).(pulumi.BoolPtrOutput) } +// Determines whether or not to always execute this step even if the previous step failed or was skipped. +func (o SyntheticsTestBrowserStepOutput) AlwaysExecute() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestBrowserStep) *bool { return v.AlwaysExecute }).(pulumi.BoolPtrOutput) +} + +// Determines whether or not to exit the test if the step succeeds. +func (o SyntheticsTestBrowserStepOutput) ExitIfSucceed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestBrowserStep) *bool { return v.ExitIfSucceed }).(pulumi.BoolPtrOutput) +} + // Force update of the "element" parameter for the step func (o SyntheticsTestBrowserStepOutput) ForceElementUpdate() pulumi.BoolPtrOutput { return o.ApplyT(func(v SyntheticsTestBrowserStep) *bool { return v.ForceElementUpdate }).(pulumi.BoolPtrOutput) @@ -18777,6 +19350,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RestrictionPolicyBindingArrayInput)(nil)).Elem(), RestrictionPolicyBindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RolePermissionInput)(nil)).Elem(), RolePermissionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RolePermissionArrayInput)(nil)).Elem(), RolePermissionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricComputeInput)(nil)).Elem(), RumMetricComputeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricComputePtrInput)(nil)).Elem(), RumMetricComputeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricFilterInput)(nil)).Elem(), RumMetricFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricFilterPtrInput)(nil)).Elem(), RumMetricFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricGroupByInput)(nil)).Elem(), RumMetricGroupByArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricGroupByArrayInput)(nil)).Elem(), RumMetricGroupByArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricUniquenessInput)(nil)).Elem(), RumMetricUniquenessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricUniquenessPtrInput)(nil)).Elem(), RumMetricUniquenessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityMonitoringDefaultRuleCaseInput)(nil)).Elem(), SecurityMonitoringDefaultRuleCaseArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityMonitoringDefaultRuleCaseArrayInput)(nil)).Elem(), SecurityMonitoringDefaultRuleCaseArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityMonitoringDefaultRuleFilterInput)(nil)).Elem(), SecurityMonitoringDefaultRuleFilterArgs{}) @@ -19012,6 +19593,14 @@ func init() { pulumi.RegisterOutputType(RestrictionPolicyBindingArrayOutput{}) pulumi.RegisterOutputType(RolePermissionOutput{}) pulumi.RegisterOutputType(RolePermissionArrayOutput{}) + pulumi.RegisterOutputType(RumMetricComputeOutput{}) + pulumi.RegisterOutputType(RumMetricComputePtrOutput{}) + pulumi.RegisterOutputType(RumMetricFilterOutput{}) + pulumi.RegisterOutputType(RumMetricFilterPtrOutput{}) + pulumi.RegisterOutputType(RumMetricGroupByOutput{}) + pulumi.RegisterOutputType(RumMetricGroupByArrayOutput{}) + pulumi.RegisterOutputType(RumMetricUniquenessOutput{}) + pulumi.RegisterOutputType(RumMetricUniquenessPtrOutput{}) pulumi.RegisterOutputType(SecurityMonitoringDefaultRuleCaseOutput{}) pulumi.RegisterOutputType(SecurityMonitoringDefaultRuleCaseArrayOutput{}) pulumi.RegisterOutputType(SecurityMonitoringDefaultRuleFilterOutput{}) diff --git a/sdk/go/datadog/rumMetric.go b/sdk/go/datadog/rumMetric.go new file mode 100644 index 000000000..57170b9a1 --- /dev/null +++ b/sdk/go/datadog/rumMetric.go @@ -0,0 +1,279 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package datadog + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_metric. +// +// ## Import +// +// ```sh +// $ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric "testing.rum.metric" +// ``` +type RumMetric struct { + pulumi.CustomResourceState + + Compute RumMetricComputePtrOutput `pulumi:"compute"` + // The type of RUM events to filter on. + EventType pulumi.StringOutput `pulumi:"eventType"` + Filter RumMetricFilterPtrOutput `pulumi:"filter"` + GroupBies RumMetricGroupByArrayOutput `pulumi:"groupBies"` + // The name of the RUM-based metric. This field can't be updated after creation. + Name pulumi.StringOutput `pulumi:"name"` + Uniqueness RumMetricUniquenessPtrOutput `pulumi:"uniqueness"` +} + +// NewRumMetric registers a new resource with the given unique name, arguments, and options. +func NewRumMetric(ctx *pulumi.Context, + name string, args *RumMetricArgs, opts ...pulumi.ResourceOption) (*RumMetric, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EventType == nil { + return nil, errors.New("invalid value for required argument 'EventType'") + } + if args.Name == nil { + return nil, errors.New("invalid value for required argument 'Name'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RumMetric + err := ctx.RegisterResource("datadog:index/rumMetric:RumMetric", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRumMetric gets an existing RumMetric resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRumMetric(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RumMetricState, opts ...pulumi.ResourceOption) (*RumMetric, error) { + var resource RumMetric + err := ctx.ReadResource("datadog:index/rumMetric:RumMetric", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RumMetric resources. +type rumMetricState struct { + Compute *RumMetricCompute `pulumi:"compute"` + // The type of RUM events to filter on. + EventType *string `pulumi:"eventType"` + Filter *RumMetricFilter `pulumi:"filter"` + GroupBies []RumMetricGroupBy `pulumi:"groupBies"` + // The name of the RUM-based metric. This field can't be updated after creation. + Name *string `pulumi:"name"` + Uniqueness *RumMetricUniqueness `pulumi:"uniqueness"` +} + +type RumMetricState struct { + Compute RumMetricComputePtrInput + // The type of RUM events to filter on. + EventType pulumi.StringPtrInput + Filter RumMetricFilterPtrInput + GroupBies RumMetricGroupByArrayInput + // The name of the RUM-based metric. This field can't be updated after creation. + Name pulumi.StringPtrInput + Uniqueness RumMetricUniquenessPtrInput +} + +func (RumMetricState) ElementType() reflect.Type { + return reflect.TypeOf((*rumMetricState)(nil)).Elem() +} + +type rumMetricArgs struct { + Compute *RumMetricCompute `pulumi:"compute"` + // The type of RUM events to filter on. + EventType string `pulumi:"eventType"` + Filter *RumMetricFilter `pulumi:"filter"` + GroupBies []RumMetricGroupBy `pulumi:"groupBies"` + // The name of the RUM-based metric. This field can't be updated after creation. + Name string `pulumi:"name"` + Uniqueness *RumMetricUniqueness `pulumi:"uniqueness"` +} + +// The set of arguments for constructing a RumMetric resource. +type RumMetricArgs struct { + Compute RumMetricComputePtrInput + // The type of RUM events to filter on. + EventType pulumi.StringInput + Filter RumMetricFilterPtrInput + GroupBies RumMetricGroupByArrayInput + // The name of the RUM-based metric. This field can't be updated after creation. + Name pulumi.StringInput + Uniqueness RumMetricUniquenessPtrInput +} + +func (RumMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*rumMetricArgs)(nil)).Elem() +} + +type RumMetricInput interface { + pulumi.Input + + ToRumMetricOutput() RumMetricOutput + ToRumMetricOutputWithContext(ctx context.Context) RumMetricOutput +} + +func (*RumMetric) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetric)(nil)).Elem() +} + +func (i *RumMetric) ToRumMetricOutput() RumMetricOutput { + return i.ToRumMetricOutputWithContext(context.Background()) +} + +func (i *RumMetric) ToRumMetricOutputWithContext(ctx context.Context) RumMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricOutput) +} + +// RumMetricArrayInput is an input type that accepts RumMetricArray and RumMetricArrayOutput values. +// You can construct a concrete instance of `RumMetricArrayInput` via: +// +// RumMetricArray{ RumMetricArgs{...} } +type RumMetricArrayInput interface { + pulumi.Input + + ToRumMetricArrayOutput() RumMetricArrayOutput + ToRumMetricArrayOutputWithContext(context.Context) RumMetricArrayOutput +} + +type RumMetricArray []RumMetricInput + +func (RumMetricArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RumMetric)(nil)).Elem() +} + +func (i RumMetricArray) ToRumMetricArrayOutput() RumMetricArrayOutput { + return i.ToRumMetricArrayOutputWithContext(context.Background()) +} + +func (i RumMetricArray) ToRumMetricArrayOutputWithContext(ctx context.Context) RumMetricArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricArrayOutput) +} + +// RumMetricMapInput is an input type that accepts RumMetricMap and RumMetricMapOutput values. +// You can construct a concrete instance of `RumMetricMapInput` via: +// +// RumMetricMap{ "key": RumMetricArgs{...} } +type RumMetricMapInput interface { + pulumi.Input + + ToRumMetricMapOutput() RumMetricMapOutput + ToRumMetricMapOutputWithContext(context.Context) RumMetricMapOutput +} + +type RumMetricMap map[string]RumMetricInput + +func (RumMetricMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RumMetric)(nil)).Elem() +} + +func (i RumMetricMap) ToRumMetricMapOutput() RumMetricMapOutput { + return i.ToRumMetricMapOutputWithContext(context.Background()) +} + +func (i RumMetricMap) ToRumMetricMapOutputWithContext(ctx context.Context) RumMetricMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumMetricMapOutput) +} + +type RumMetricOutput struct{ *pulumi.OutputState } + +func (RumMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RumMetric)(nil)).Elem() +} + +func (o RumMetricOutput) ToRumMetricOutput() RumMetricOutput { + return o +} + +func (o RumMetricOutput) ToRumMetricOutputWithContext(ctx context.Context) RumMetricOutput { + return o +} + +func (o RumMetricOutput) Compute() RumMetricComputePtrOutput { + return o.ApplyT(func(v *RumMetric) RumMetricComputePtrOutput { return v.Compute }).(RumMetricComputePtrOutput) +} + +// The type of RUM events to filter on. +func (o RumMetricOutput) EventType() pulumi.StringOutput { + return o.ApplyT(func(v *RumMetric) pulumi.StringOutput { return v.EventType }).(pulumi.StringOutput) +} + +func (o RumMetricOutput) Filter() RumMetricFilterPtrOutput { + return o.ApplyT(func(v *RumMetric) RumMetricFilterPtrOutput { return v.Filter }).(RumMetricFilterPtrOutput) +} + +func (o RumMetricOutput) GroupBies() RumMetricGroupByArrayOutput { + return o.ApplyT(func(v *RumMetric) RumMetricGroupByArrayOutput { return v.GroupBies }).(RumMetricGroupByArrayOutput) +} + +// The name of the RUM-based metric. This field can't be updated after creation. +func (o RumMetricOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RumMetric) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o RumMetricOutput) Uniqueness() RumMetricUniquenessPtrOutput { + return o.ApplyT(func(v *RumMetric) RumMetricUniquenessPtrOutput { return v.Uniqueness }).(RumMetricUniquenessPtrOutput) +} + +type RumMetricArrayOutput struct{ *pulumi.OutputState } + +func (RumMetricArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RumMetric)(nil)).Elem() +} + +func (o RumMetricArrayOutput) ToRumMetricArrayOutput() RumMetricArrayOutput { + return o +} + +func (o RumMetricArrayOutput) ToRumMetricArrayOutputWithContext(ctx context.Context) RumMetricArrayOutput { + return o +} + +func (o RumMetricArrayOutput) Index(i pulumi.IntInput) RumMetricOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RumMetric { + return vs[0].([]*RumMetric)[vs[1].(int)] + }).(RumMetricOutput) +} + +type RumMetricMapOutput struct{ *pulumi.OutputState } + +func (RumMetricMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RumMetric)(nil)).Elem() +} + +func (o RumMetricMapOutput) ToRumMetricMapOutput() RumMetricMapOutput { + return o +} + +func (o RumMetricMapOutput) ToRumMetricMapOutputWithContext(ctx context.Context) RumMetricMapOutput { + return o +} + +func (o RumMetricMapOutput) MapIndex(k pulumi.StringInput) RumMetricOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RumMetric { + return vs[0].(map[string]*RumMetric)[vs[1].(string)] + }).(RumMetricOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricInput)(nil)).Elem(), &RumMetric{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricArrayInput)(nil)).Elem(), RumMetricArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumMetricMapInput)(nil)).Elem(), RumMetricMap{}) + pulumi.RegisterOutputType(RumMetricOutput{}) + pulumi.RegisterOutputType(RumMetricArrayOutput{}) + pulumi.RegisterOutputType(RumMetricMapOutput{}) +} diff --git a/sdk/go/datadog/sensitiveDataScannerRule.go b/sdk/go/datadog/sensitiveDataScannerRule.go index 5ac2a5f75..c7fadc967 100644 --- a/sdk/go/datadog/sensitiveDataScannerRule.go +++ b/sdk/go/datadog/sensitiveDataScannerRule.go @@ -28,7 +28,7 @@ type SensitiveDataScannerRule struct { ExcludedNamespaces pulumi.StringArrayOutput `pulumi:"excludedNamespaces"` // Id of the scanning group the rule belongs to. GroupId pulumi.StringOutput `pulumi:"groupId"` - // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. IncludedKeywordConfiguration SensitiveDataScannerRuleIncludedKeywordConfigurationPtrOutput `pulumi:"includedKeywordConfiguration"` // Whether or not the rule is enabled. IsEnabled pulumi.BoolPtrOutput `pulumi:"isEnabled"` @@ -87,7 +87,7 @@ type sensitiveDataScannerRuleState struct { ExcludedNamespaces []string `pulumi:"excludedNamespaces"` // Id of the scanning group the rule belongs to. GroupId *string `pulumi:"groupId"` - // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. IncludedKeywordConfiguration *SensitiveDataScannerRuleIncludedKeywordConfiguration `pulumi:"includedKeywordConfiguration"` // Whether or not the rule is enabled. IsEnabled *bool `pulumi:"isEnabled"` @@ -114,7 +114,7 @@ type SensitiveDataScannerRuleState struct { ExcludedNamespaces pulumi.StringArrayInput // Id of the scanning group the rule belongs to. GroupId pulumi.StringPtrInput - // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. IncludedKeywordConfiguration SensitiveDataScannerRuleIncludedKeywordConfigurationPtrInput // Whether or not the rule is enabled. IsEnabled pulumi.BoolPtrInput @@ -145,7 +145,7 @@ type sensitiveDataScannerRuleArgs struct { ExcludedNamespaces []string `pulumi:"excludedNamespaces"` // Id of the scanning group the rule belongs to. GroupId string `pulumi:"groupId"` - // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. IncludedKeywordConfiguration *SensitiveDataScannerRuleIncludedKeywordConfiguration `pulumi:"includedKeywordConfiguration"` // Whether or not the rule is enabled. IsEnabled *bool `pulumi:"isEnabled"` @@ -173,7 +173,7 @@ type SensitiveDataScannerRuleArgs struct { ExcludedNamespaces pulumi.StringArrayInput // Id of the scanning group the rule belongs to. GroupId pulumi.StringInput - // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + // Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. IncludedKeywordConfiguration SensitiveDataScannerRuleIncludedKeywordConfigurationPtrInput // Whether or not the rule is enabled. IsEnabled pulumi.BoolPtrInput @@ -295,7 +295,7 @@ func (o SensitiveDataScannerRuleOutput) GroupId() pulumi.StringOutput { return o.ApplyT(func(v *SensitiveDataScannerRule) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) } -// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. +// Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. func (o SensitiveDataScannerRuleOutput) IncludedKeywordConfiguration() SensitiveDataScannerRuleIncludedKeywordConfigurationPtrOutput { return o.ApplyT(func(v *SensitiveDataScannerRule) SensitiveDataScannerRuleIncludedKeywordConfigurationPtrOutput { return v.IncludedKeywordConfiguration diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index 9c3580e26..0deaf35ee 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -5,7 +5,7 @@ plugins { id("signing") id("java-library") id("maven-publish") - id("io.github.gradle-nexus.publish-plugin") version "1.1.0" + id("io.github.gradle-nexus.publish-plugin") version "2.0.0" } group = "com.pulumi" @@ -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.17.0") + implementation("com.pulumi:pulumi:0.18.0") } task sourcesJar(type: Jar) { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/RumMetric.java b/sdk/java/src/main/java/com/pulumi/datadog/RumMetric.java new file mode 100644 index 000000000..29f4cb1b1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/RumMetric.java @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.datadog.RumMetricArgs; +import com.pulumi.datadog.Utilities; +import com.pulumi.datadog.inputs.RumMetricState; +import com.pulumi.datadog.outputs.RumMetricCompute; +import com.pulumi.datadog.outputs.RumMetricFilter; +import com.pulumi.datadog.outputs.RumMetricGroupBy; +import com.pulumi.datadog.outputs.RumMetricUniqueness; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_metric. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.datadog.RumMetric;
+ * import com.pulumi.datadog.RumMetricArgs;
+ * import com.pulumi.datadog.inputs.RumMetricGroupByArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App }{{@code
+ *     public static void main(String[] args) }{{@code
+ *         Pulumi.run(App::stack);
+ *     }}{@code
+ * 
+ *     public static void stack(Context ctx) }{{@code
+ *         // Create new rum_metric resource
+ *         var testingRumMetric = new RumMetric("testingRumMetric", RumMetricArgs.builder()
+ *             .name("testing.rum.metric")
+ *             .compute(RumMetricComputeArgs.builder()
+ *                 .aggregationType("distribution")
+ *                 .includePercentiles(true)
+ *                 .path("}{@literal @}{@code duration")
+ *                 .build())
+ *             .eventType("session")
+ *             .filter(RumMetricFilterArgs.builder()
+ *                 .query("}{@literal @}{@code service:web-ui")
+ *                 .build())
+ *             .groupBies(RumMetricGroupByArgs.builder()
+ *                 .path("}{@literal @}{@code browser.name")
+ *                 .tagName("browser_name")
+ *                 .build())
+ *             .uniqueness(RumMetricUniquenessArgs.builder()
+ *                 .when("match")
+ *                 .build())
+ *             .build());
+ * 
+ *     }}{@code
+ * }}{@code
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * ```sh + * $ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric "testing.rum.metric" + * ``` + * + */ +@ResourceType(type="datadog:index/rumMetric:RumMetric") +public class RumMetric extends com.pulumi.resources.CustomResource { + @Export(name="compute", refs={RumMetricCompute.class}, tree="[0]") + private Output compute; + + public Output> compute() { + return Codegen.optional(this.compute); + } + /** + * The type of RUM events to filter on. + * + */ + @Export(name="eventType", refs={String.class}, tree="[0]") + private Output eventType; + + /** + * @return The type of RUM events to filter on. + * + */ + public Output eventType() { + return this.eventType; + } + @Export(name="filter", refs={RumMetricFilter.class}, tree="[0]") + private Output filter; + + public Output> filter() { + return Codegen.optional(this.filter); + } + @Export(name="groupBies", refs={List.class,RumMetricGroupBy.class}, tree="[0,1]") + private Output> groupBies; + + public Output>> groupBies() { + return Codegen.optional(this.groupBies); + } + /** + * The name of the RUM-based metric. This field can't be updated after creation. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the RUM-based metric. This field can't be updated after creation. + * + */ + public Output name() { + return this.name; + } + @Export(name="uniqueness", refs={RumMetricUniqueness.class}, tree="[0]") + private Output uniqueness; + + public Output> uniqueness() { + return Codegen.optional(this.uniqueness); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public RumMetric(java.lang.String name) { + this(name, RumMetricArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public RumMetric(java.lang.String name, RumMetricArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public RumMetric(java.lang.String name, RumMetricArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("datadog:index/rumMetric:RumMetric", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private RumMetric(java.lang.String name, Output id, @Nullable RumMetricState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("datadog:index/rumMetric:RumMetric", name, state, makeResourceOptions(options, id), false); + } + + private static RumMetricArgs makeArgs(RumMetricArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? RumMetricArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static RumMetric get(java.lang.String name, Output id, @Nullable RumMetricState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new RumMetric(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/RumMetricArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/RumMetricArgs.java new file mode 100644 index 000000000..12866155c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/RumMetricArgs.java @@ -0,0 +1,204 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.RumMetricComputeArgs; +import com.pulumi.datadog.inputs.RumMetricFilterArgs; +import com.pulumi.datadog.inputs.RumMetricGroupByArgs; +import com.pulumi.datadog.inputs.RumMetricUniquenessArgs; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumMetricArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumMetricArgs Empty = new RumMetricArgs(); + + @Import(name="compute") + private @Nullable Output compute; + + public Optional> compute() { + return Optional.ofNullable(this.compute); + } + + /** + * The type of RUM events to filter on. + * + */ + @Import(name="eventType", required=true) + private Output eventType; + + /** + * @return The type of RUM events to filter on. + * + */ + public Output eventType() { + return this.eventType; + } + + @Import(name="filter") + private @Nullable Output filter; + + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + @Import(name="groupBies") + private @Nullable Output> groupBies; + + public Optional>> groupBies() { + return Optional.ofNullable(this.groupBies); + } + + /** + * The name of the RUM-based metric. This field can't be updated after creation. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the RUM-based metric. This field can't be updated after creation. + * + */ + public Output name() { + return this.name; + } + + @Import(name="uniqueness") + private @Nullable Output uniqueness; + + public Optional> uniqueness() { + return Optional.ofNullable(this.uniqueness); + } + + private RumMetricArgs() {} + + private RumMetricArgs(RumMetricArgs $) { + this.compute = $.compute; + this.eventType = $.eventType; + this.filter = $.filter; + this.groupBies = $.groupBies; + this.name = $.name; + this.uniqueness = $.uniqueness; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumMetricArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumMetricArgs $; + + public Builder() { + $ = new RumMetricArgs(); + } + + public Builder(RumMetricArgs defaults) { + $ = new RumMetricArgs(Objects.requireNonNull(defaults)); + } + + public Builder compute(@Nullable Output compute) { + $.compute = compute; + return this; + } + + public Builder compute(RumMetricComputeArgs compute) { + return compute(Output.of(compute)); + } + + /** + * @param eventType The type of RUM events to filter on. + * + * @return builder + * + */ + public Builder eventType(Output eventType) { + $.eventType = eventType; + return this; + } + + /** + * @param eventType The type of RUM events to filter on. + * + * @return builder + * + */ + public Builder eventType(String eventType) { + return eventType(Output.of(eventType)); + } + + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + public Builder filter(RumMetricFilterArgs filter) { + return filter(Output.of(filter)); + } + + public Builder groupBies(@Nullable Output> groupBies) { + $.groupBies = groupBies; + return this; + } + + public Builder groupBies(List groupBies) { + return groupBies(Output.of(groupBies)); + } + + public Builder groupBies(RumMetricGroupByArgs... groupBies) { + return groupBies(List.of(groupBies)); + } + + /** + * @param name The name of the RUM-based metric. This field can't be updated after creation. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the RUM-based metric. This field can't be updated after creation. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder uniqueness(@Nullable Output uniqueness) { + $.uniqueness = uniqueness; + return this; + } + + public Builder uniqueness(RumMetricUniquenessArgs uniqueness) { + return uniqueness(Output.of(uniqueness)); + } + + public RumMetricArgs build() { + if ($.eventType == null) { + throw new MissingRequiredPropertyException("RumMetricArgs", "eventType"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("RumMetricArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRule.java b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRule.java index 26941e72f..08dcfa212 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRule.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRule.java @@ -74,14 +74,14 @@ public Output groupId() { return this.groupId; } /** - * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * */ @Export(name="includedKeywordConfiguration", refs={SensitiveDataScannerRuleIncludedKeywordConfiguration.class}, tree="[0]") private Output includedKeywordConfiguration; /** - * @return Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * @return Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * */ public Output> includedKeywordConfiguration() { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRuleArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRuleArgs.java index 6b55000c8..7302c0ca3 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SensitiveDataScannerRuleArgs.java @@ -67,14 +67,14 @@ public Output groupId() { } /** - * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * */ @Import(name="includedKeywordConfiguration") private @Nullable Output includedKeywordConfiguration; /** - * @return Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * @return Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * */ public Optional> includedKeywordConfiguration() { @@ -310,7 +310,7 @@ public Builder groupId(String groupId) { } /** - * @param includedKeywordConfiguration Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * @param includedKeywordConfiguration Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * * @return builder * @@ -321,7 +321,7 @@ public Builder includedKeywordConfiguration(@Nullable Output aggregationType; + + /** + * @return The type of aggregation to use. + * + */ + public Output aggregationType() { + return this.aggregationType; + } + + /** + * Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + * + */ + @Import(name="includePercentiles") + private @Nullable Output includePercentiles; + + /** + * @return Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + * + */ + public Optional> includePercentiles() { + return Optional.ofNullable(this.includePercentiles); + } + + /** + * The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + private RumMetricComputeArgs() {} + + private RumMetricComputeArgs(RumMetricComputeArgs $) { + this.aggregationType = $.aggregationType; + this.includePercentiles = $.includePercentiles; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumMetricComputeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumMetricComputeArgs $; + + public Builder() { + $ = new RumMetricComputeArgs(); + } + + public Builder(RumMetricComputeArgs defaults) { + $ = new RumMetricComputeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param aggregationType The type of aggregation to use. + * + * @return builder + * + */ + public Builder aggregationType(Output aggregationType) { + $.aggregationType = aggregationType; + return this; + } + + /** + * @param aggregationType The type of aggregation to use. + * + * @return builder + * + */ + public Builder aggregationType(String aggregationType) { + return aggregationType(Output.of(aggregationType)); + } + + /** + * @param includePercentiles Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + * + * @return builder + * + */ + public Builder includePercentiles(@Nullable Output includePercentiles) { + $.includePercentiles = includePercentiles; + return this; + } + + /** + * @param includePercentiles Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + * + * @return builder + * + */ + public Builder includePercentiles(Boolean includePercentiles) { + return includePercentiles(Output.of(includePercentiles)); + } + + /** + * @param path The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public RumMetricComputeArgs build() { + if ($.aggregationType == null) { + throw new MissingRequiredPropertyException("RumMetricComputeArgs", "aggregationType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricFilterArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricFilterArgs.java new file mode 100644 index 000000000..6e716877a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricFilterArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumMetricFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumMetricFilterArgs Empty = new RumMetricFilterArgs(); + + /** + * The search query. Follows RUM search syntax. + * + */ + @Import(name="query") + private @Nullable Output query; + + /** + * @return The search query. Follows RUM search syntax. + * + */ + public Optional> query() { + return Optional.ofNullable(this.query); + } + + private RumMetricFilterArgs() {} + + private RumMetricFilterArgs(RumMetricFilterArgs $) { + this.query = $.query; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumMetricFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumMetricFilterArgs $; + + public Builder() { + $ = new RumMetricFilterArgs(); + } + + public Builder(RumMetricFilterArgs defaults) { + $ = new RumMetricFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param query The search query. Follows RUM search syntax. + * + * @return builder + * + */ + public Builder query(@Nullable Output query) { + $.query = query; + return this; + } + + /** + * @param query The search query. Follows RUM search syntax. + * + * @return builder + * + */ + public Builder query(String query) { + return query(Output.of(query)); + } + + public RumMetricFilterArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricGroupByArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricGroupByArgs.java new file mode 100644 index 000000000..497c9fd63 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricGroupByArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumMetricGroupByArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumMetricGroupByArgs Empty = new RumMetricGroupByArgs(); + + /** + * The path to the value the RUM-based metric will be aggregated over. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path to the value the RUM-based metric will be aggregated over. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * Name of the tag that gets created. By default, `path` is used as the tag name. + * + */ + @Import(name="tagName") + private @Nullable Output tagName; + + /** + * @return Name of the tag that gets created. By default, `path` is used as the tag name. + * + */ + public Optional> tagName() { + return Optional.ofNullable(this.tagName); + } + + private RumMetricGroupByArgs() {} + + private RumMetricGroupByArgs(RumMetricGroupByArgs $) { + this.path = $.path; + this.tagName = $.tagName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumMetricGroupByArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumMetricGroupByArgs $; + + public Builder() { + $ = new RumMetricGroupByArgs(); + } + + public Builder(RumMetricGroupByArgs defaults) { + $ = new RumMetricGroupByArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param path The path to the value the RUM-based metric will be aggregated over. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path to the value the RUM-based metric will be aggregated over. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param tagName Name of the tag that gets created. By default, `path` is used as the tag name. + * + * @return builder + * + */ + public Builder tagName(@Nullable Output tagName) { + $.tagName = tagName; + return this; + } + + /** + * @param tagName Name of the tag that gets created. By default, `path` is used as the tag name. + * + * @return builder + * + */ + public Builder tagName(String tagName) { + return tagName(Output.of(tagName)); + } + + public RumMetricGroupByArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricState.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricState.java new file mode 100644 index 000000000..47dc513e0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricState.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.RumMetricComputeArgs; +import com.pulumi.datadog.inputs.RumMetricFilterArgs; +import com.pulumi.datadog.inputs.RumMetricGroupByArgs; +import com.pulumi.datadog.inputs.RumMetricUniquenessArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumMetricState extends com.pulumi.resources.ResourceArgs { + + public static final RumMetricState Empty = new RumMetricState(); + + @Import(name="compute") + private @Nullable Output compute; + + public Optional> compute() { + return Optional.ofNullable(this.compute); + } + + /** + * The type of RUM events to filter on. + * + */ + @Import(name="eventType") + private @Nullable Output eventType; + + /** + * @return The type of RUM events to filter on. + * + */ + public Optional> eventType() { + return Optional.ofNullable(this.eventType); + } + + @Import(name="filter") + private @Nullable Output filter; + + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + @Import(name="groupBies") + private @Nullable Output> groupBies; + + public Optional>> groupBies() { + return Optional.ofNullable(this.groupBies); + } + + /** + * The name of the RUM-based metric. This field can't be updated after creation. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the RUM-based metric. This field can't be updated after creation. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="uniqueness") + private @Nullable Output uniqueness; + + public Optional> uniqueness() { + return Optional.ofNullable(this.uniqueness); + } + + private RumMetricState() {} + + private RumMetricState(RumMetricState $) { + this.compute = $.compute; + this.eventType = $.eventType; + this.filter = $.filter; + this.groupBies = $.groupBies; + this.name = $.name; + this.uniqueness = $.uniqueness; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumMetricState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumMetricState $; + + public Builder() { + $ = new RumMetricState(); + } + + public Builder(RumMetricState defaults) { + $ = new RumMetricState(Objects.requireNonNull(defaults)); + } + + public Builder compute(@Nullable Output compute) { + $.compute = compute; + return this; + } + + public Builder compute(RumMetricComputeArgs compute) { + return compute(Output.of(compute)); + } + + /** + * @param eventType The type of RUM events to filter on. + * + * @return builder + * + */ + public Builder eventType(@Nullable Output eventType) { + $.eventType = eventType; + return this; + } + + /** + * @param eventType The type of RUM events to filter on. + * + * @return builder + * + */ + public Builder eventType(String eventType) { + return eventType(Output.of(eventType)); + } + + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + public Builder filter(RumMetricFilterArgs filter) { + return filter(Output.of(filter)); + } + + public Builder groupBies(@Nullable Output> groupBies) { + $.groupBies = groupBies; + return this; + } + + public Builder groupBies(List groupBies) { + return groupBies(Output.of(groupBies)); + } + + public Builder groupBies(RumMetricGroupByArgs... groupBies) { + return groupBies(List.of(groupBies)); + } + + /** + * @param name The name of the RUM-based metric. This field can't be updated after creation. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the RUM-based metric. This field can't be updated after creation. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder uniqueness(@Nullable Output uniqueness) { + $.uniqueness = uniqueness; + return this; + } + + public Builder uniqueness(RumMetricUniquenessArgs uniqueness) { + return uniqueness(Output.of(uniqueness)); + } + + public RumMetricState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricUniquenessArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricUniquenessArgs.java new file mode 100644 index 000000000..2124ef2d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/RumMetricUniquenessArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumMetricUniquenessArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumMetricUniquenessArgs Empty = new RumMetricUniquenessArgs(); + + /** + * When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + * + */ + @Import(name="when") + private @Nullable Output when; + + /** + * @return When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + * + */ + public Optional> when() { + return Optional.ofNullable(this.when); + } + + private RumMetricUniquenessArgs() {} + + private RumMetricUniquenessArgs(RumMetricUniquenessArgs $) { + this.when = $.when; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumMetricUniquenessArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumMetricUniquenessArgs $; + + public Builder() { + $ = new RumMetricUniquenessArgs(); + } + + public Builder(RumMetricUniquenessArgs defaults) { + $ = new RumMetricUniquenessArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param when When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + * + * @return builder + * + */ + public Builder when(@Nullable Output when) { + $.when = when; + return this; + } + + /** + * @param when When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + * + * @return builder + * + */ + public Builder when(String when) { + return when(Output.of(when)); + } + + public RumMetricUniquenessArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SensitiveDataScannerRuleState.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SensitiveDataScannerRuleState.java index b9653c6af..26259d1af 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SensitiveDataScannerRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SensitiveDataScannerRuleState.java @@ -66,14 +66,14 @@ public Optional> groupId() { } /** - * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * */ @Import(name="includedKeywordConfiguration") private @Nullable Output includedKeywordConfiguration; /** - * @return Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * @return Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * */ public Optional> includedKeywordConfiguration() { @@ -309,7 +309,7 @@ public Builder groupId(String groupId) { } /** - * @param includedKeywordConfiguration Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * @param includedKeywordConfiguration Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. * * @return builder * @@ -320,7 +320,7 @@ public Builder includedKeywordConfiguration(@Nullable Output> allowFailure() { return Optional.ofNullable(this.allowFailure); } + /** + * Determines whether or not to always execute this step even if the previous step failed or was skipped. + * + */ + @Import(name="alwaysExecute") + private @Nullable Output alwaysExecute; + + /** + * @return Determines whether or not to always execute this step even if the previous step failed or was skipped. + * + */ + public Optional> alwaysExecute() { + return Optional.ofNullable(this.alwaysExecute); + } + + /** + * Determines whether or not to exit the test if the step succeeds. + * + */ + @Import(name="exitIfSucceed") + private @Nullable Output exitIfSucceed; + + /** + * @return Determines whether or not to exit the test if the step succeeds. + * + */ + public Optional> exitIfSucceed() { + return Optional.ofNullable(this.exitIfSucceed); + } + /** * Force update of the "element" parameter for the step * @@ -143,6 +173,8 @@ private SyntheticsTestBrowserStepArgs() {} private SyntheticsTestBrowserStepArgs(SyntheticsTestBrowserStepArgs $) { this.allowFailure = $.allowFailure; + this.alwaysExecute = $.alwaysExecute; + this.exitIfSucceed = $.exitIfSucceed; this.forceElementUpdate = $.forceElementUpdate; this.isCritical = $.isCritical; this.name = $.name; @@ -191,6 +223,48 @@ public Builder allowFailure(Boolean allowFailure) { return allowFailure(Output.of(allowFailure)); } + /** + * @param alwaysExecute Determines whether or not to always execute this step even if the previous step failed or was skipped. + * + * @return builder + * + */ + public Builder alwaysExecute(@Nullable Output alwaysExecute) { + $.alwaysExecute = alwaysExecute; + return this; + } + + /** + * @param alwaysExecute Determines whether or not to always execute this step even if the previous step failed or was skipped. + * + * @return builder + * + */ + public Builder alwaysExecute(Boolean alwaysExecute) { + return alwaysExecute(Output.of(alwaysExecute)); + } + + /** + * @param exitIfSucceed Determines whether or not to exit the test if the step succeeds. + * + * @return builder + * + */ + public Builder exitIfSucceed(@Nullable Output exitIfSucceed) { + $.exitIfSucceed = exitIfSucceed; + return this; + } + + /** + * @param exitIfSucceed Determines whether or not to exit the test if the step succeeds. + * + * @return builder + * + */ + public Builder exitIfSucceed(Boolean exitIfSucceed) { + return exitIfSucceed(Output.of(exitIfSucceed)); + } + /** * @param forceElementUpdate Force update of the "element" parameter for the step * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandle.java b/sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandle.java new file mode 100644 index 000000000..04523bacf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandle.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.ms; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.datadog.Utilities; +import com.pulumi.datadog.ms.IntegrationTeamsTenantBasedHandleArgs; +import com.pulumi.datadog.ms.inputs.IntegrationTeamsTenantBasedHandleState; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles. + * + */ +@ResourceType(type="datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle") +public class IntegrationTeamsTenantBasedHandle extends com.pulumi.resources.CustomResource { + /** + * Your channel name. + * + */ + @Export(name="channelName", refs={String.class}, tree="[0]") + private Output channelName; + + /** + * @return Your channel name. + * + */ + public Output channelName() { + return this.channelName; + } + /** + * Your tenant-based handle name. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Your tenant-based handle name. + * + */ + public Output name() { + return this.name; + } + /** + * Your team name. + * + */ + @Export(name="teamName", refs={String.class}, tree="[0]") + private Output teamName; + + /** + * @return Your team name. + * + */ + public Output teamName() { + return this.teamName; + } + /** + * Your tenant name. + * + */ + @Export(name="tenantName", refs={String.class}, tree="[0]") + private Output tenantName; + + /** + * @return Your tenant name. + * + */ + public Output tenantName() { + return this.tenantName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public IntegrationTeamsTenantBasedHandle(java.lang.String name) { + this(name, IntegrationTeamsTenantBasedHandleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public IntegrationTeamsTenantBasedHandle(java.lang.String name, IntegrationTeamsTenantBasedHandleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public IntegrationTeamsTenantBasedHandle(java.lang.String name, IntegrationTeamsTenantBasedHandleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private IntegrationTeamsTenantBasedHandle(java.lang.String name, Output id, @Nullable IntegrationTeamsTenantBasedHandleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle", name, state, makeResourceOptions(options, id), false); + } + + private static IntegrationTeamsTenantBasedHandleArgs makeArgs(IntegrationTeamsTenantBasedHandleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? IntegrationTeamsTenantBasedHandleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static IntegrationTeamsTenantBasedHandle get(java.lang.String name, Output id, @Nullable IntegrationTeamsTenantBasedHandleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new IntegrationTeamsTenantBasedHandle(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandleArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandleArgs.java new file mode 100644 index 000000000..c5540d99d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/ms/IntegrationTeamsTenantBasedHandleArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.ms; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class IntegrationTeamsTenantBasedHandleArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationTeamsTenantBasedHandleArgs Empty = new IntegrationTeamsTenantBasedHandleArgs(); + + /** + * Your channel name. + * + */ + @Import(name="channelName", required=true) + private Output channelName; + + /** + * @return Your channel name. + * + */ + public Output channelName() { + return this.channelName; + } + + /** + * Your tenant-based handle name. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Your tenant-based handle name. + * + */ + public Output name() { + return this.name; + } + + /** + * Your team name. + * + */ + @Import(name="teamName", required=true) + private Output teamName; + + /** + * @return Your team name. + * + */ + public Output teamName() { + return this.teamName; + } + + /** + * Your tenant name. + * + */ + @Import(name="tenantName", required=true) + private Output tenantName; + + /** + * @return Your tenant name. + * + */ + public Output tenantName() { + return this.tenantName; + } + + private IntegrationTeamsTenantBasedHandleArgs() {} + + private IntegrationTeamsTenantBasedHandleArgs(IntegrationTeamsTenantBasedHandleArgs $) { + this.channelName = $.channelName; + this.name = $.name; + this.teamName = $.teamName; + this.tenantName = $.tenantName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationTeamsTenantBasedHandleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationTeamsTenantBasedHandleArgs $; + + public Builder() { + $ = new IntegrationTeamsTenantBasedHandleArgs(); + } + + public Builder(IntegrationTeamsTenantBasedHandleArgs defaults) { + $ = new IntegrationTeamsTenantBasedHandleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param channelName Your channel name. + * + * @return builder + * + */ + public Builder channelName(Output channelName) { + $.channelName = channelName; + return this; + } + + /** + * @param channelName Your channel name. + * + * @return builder + * + */ + public Builder channelName(String channelName) { + return channelName(Output.of(channelName)); + } + + /** + * @param name Your tenant-based handle name. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Your tenant-based handle name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param teamName Your team name. + * + * @return builder + * + */ + public Builder teamName(Output teamName) { + $.teamName = teamName; + return this; + } + + /** + * @param teamName Your team name. + * + * @return builder + * + */ + public Builder teamName(String teamName) { + return teamName(Output.of(teamName)); + } + + /** + * @param tenantName Your tenant name. + * + * @return builder + * + */ + public Builder tenantName(Output tenantName) { + $.tenantName = tenantName; + return this; + } + + /** + * @param tenantName Your tenant name. + * + * @return builder + * + */ + public Builder tenantName(String tenantName) { + return tenantName(Output.of(tenantName)); + } + + public IntegrationTeamsTenantBasedHandleArgs build() { + if ($.channelName == null) { + throw new MissingRequiredPropertyException("IntegrationTeamsTenantBasedHandleArgs", "channelName"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("IntegrationTeamsTenantBasedHandleArgs", "name"); + } + if ($.teamName == null) { + throw new MissingRequiredPropertyException("IntegrationTeamsTenantBasedHandleArgs", "teamName"); + } + if ($.tenantName == null) { + throw new MissingRequiredPropertyException("IntegrationTeamsTenantBasedHandleArgs", "tenantName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/ms/inputs/IntegrationTeamsTenantBasedHandleState.java b/sdk/java/src/main/java/com/pulumi/datadog/ms/inputs/IntegrationTeamsTenantBasedHandleState.java new file mode 100644 index 000000000..65eccd77b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/ms/inputs/IntegrationTeamsTenantBasedHandleState.java @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.ms.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationTeamsTenantBasedHandleState extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationTeamsTenantBasedHandleState Empty = new IntegrationTeamsTenantBasedHandleState(); + + /** + * Your channel name. + * + */ + @Import(name="channelName") + private @Nullable Output channelName; + + /** + * @return Your channel name. + * + */ + public Optional> channelName() { + return Optional.ofNullable(this.channelName); + } + + /** + * Your tenant-based handle name. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Your tenant-based handle name. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Your team name. + * + */ + @Import(name="teamName") + private @Nullable Output teamName; + + /** + * @return Your team name. + * + */ + public Optional> teamName() { + return Optional.ofNullable(this.teamName); + } + + /** + * Your tenant name. + * + */ + @Import(name="tenantName") + private @Nullable Output tenantName; + + /** + * @return Your tenant name. + * + */ + public Optional> tenantName() { + return Optional.ofNullable(this.tenantName); + } + + private IntegrationTeamsTenantBasedHandleState() {} + + private IntegrationTeamsTenantBasedHandleState(IntegrationTeamsTenantBasedHandleState $) { + this.channelName = $.channelName; + this.name = $.name; + this.teamName = $.teamName; + this.tenantName = $.tenantName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationTeamsTenantBasedHandleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationTeamsTenantBasedHandleState $; + + public Builder() { + $ = new IntegrationTeamsTenantBasedHandleState(); + } + + public Builder(IntegrationTeamsTenantBasedHandleState defaults) { + $ = new IntegrationTeamsTenantBasedHandleState(Objects.requireNonNull(defaults)); + } + + /** + * @param channelName Your channel name. + * + * @return builder + * + */ + public Builder channelName(@Nullable Output channelName) { + $.channelName = channelName; + return this; + } + + /** + * @param channelName Your channel name. + * + * @return builder + * + */ + public Builder channelName(String channelName) { + return channelName(Output.of(channelName)); + } + + /** + * @param name Your tenant-based handle name. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Your tenant-based handle name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param teamName Your team name. + * + * @return builder + * + */ + public Builder teamName(@Nullable Output teamName) { + $.teamName = teamName; + return this; + } + + /** + * @param teamName Your team name. + * + * @return builder + * + */ + public Builder teamName(String teamName) { + return teamName(Output.of(teamName)); + } + + /** + * @param tenantName Your tenant name. + * + * @return builder + * + */ + public Builder tenantName(@Nullable Output tenantName) { + $.tenantName = tenantName; + return this; + } + + /** + * @param tenantName Your tenant name. + * + * @return builder + * + */ + public Builder tenantName(String tenantName) { + return tenantName(Output.of(tenantName)); + } + + public IntegrationTeamsTenantBasedHandleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricCompute.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricCompute.java new file mode 100644 index 000000000..165570fb6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricCompute.java @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumMetricCompute { + /** + * @return The type of aggregation to use. + * + */ + private String aggregationType; + /** + * @return Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + * + */ + private @Nullable Boolean includePercentiles; + /** + * @return The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + * + */ + private @Nullable String path; + + private RumMetricCompute() {} + /** + * @return The type of aggregation to use. + * + */ + public String aggregationType() { + return this.aggregationType; + } + /** + * @return Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + * + */ + public Optional includePercentiles() { + return Optional.ofNullable(this.includePercentiles); + } + /** + * @return The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumMetricCompute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String aggregationType; + private @Nullable Boolean includePercentiles; + private @Nullable String path; + public Builder() {} + public Builder(RumMetricCompute defaults) { + Objects.requireNonNull(defaults); + this.aggregationType = defaults.aggregationType; + this.includePercentiles = defaults.includePercentiles; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder aggregationType(String aggregationType) { + if (aggregationType == null) { + throw new MissingRequiredPropertyException("RumMetricCompute", "aggregationType"); + } + this.aggregationType = aggregationType; + return this; + } + @CustomType.Setter + public Builder includePercentiles(@Nullable Boolean includePercentiles) { + + this.includePercentiles = includePercentiles; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + public RumMetricCompute build() { + final var _resultValue = new RumMetricCompute(); + _resultValue.aggregationType = aggregationType; + _resultValue.includePercentiles = includePercentiles; + _resultValue.path = path; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricFilter.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricFilter.java new file mode 100644 index 000000000..225f25d35 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricFilter.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumMetricFilter { + /** + * @return The search query. Follows RUM search syntax. + * + */ + private @Nullable String query; + + private RumMetricFilter() {} + /** + * @return The search query. Follows RUM search syntax. + * + */ + public Optional query() { + return Optional.ofNullable(this.query); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumMetricFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String query; + public Builder() {} + public Builder(RumMetricFilter defaults) { + Objects.requireNonNull(defaults); + this.query = defaults.query; + } + + @CustomType.Setter + public Builder query(@Nullable String query) { + + this.query = query; + return this; + } + public RumMetricFilter build() { + final var _resultValue = new RumMetricFilter(); + _resultValue.query = query; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricGroupBy.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricGroupBy.java new file mode 100644 index 000000000..826d01ed8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricGroupBy.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumMetricGroupBy { + /** + * @return The path to the value the RUM-based metric will be aggregated over. + * + */ + private @Nullable String path; + /** + * @return Name of the tag that gets created. By default, `path` is used as the tag name. + * + */ + private @Nullable String tagName; + + private RumMetricGroupBy() {} + /** + * @return The path to the value the RUM-based metric will be aggregated over. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return Name of the tag that gets created. By default, `path` is used as the tag name. + * + */ + public Optional tagName() { + return Optional.ofNullable(this.tagName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumMetricGroupBy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String path; + private @Nullable String tagName; + public Builder() {} + public Builder(RumMetricGroupBy defaults) { + Objects.requireNonNull(defaults); + this.path = defaults.path; + this.tagName = defaults.tagName; + } + + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder tagName(@Nullable String tagName) { + + this.tagName = tagName; + return this; + } + public RumMetricGroupBy build() { + final var _resultValue = new RumMetricGroupBy(); + _resultValue.path = path; + _resultValue.tagName = tagName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricUniqueness.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricUniqueness.java new file mode 100644 index 000000000..0f553c580 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/RumMetricUniqueness.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumMetricUniqueness { + /** + * @return When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + * + */ + private @Nullable String when; + + private RumMetricUniqueness() {} + /** + * @return When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + * + */ + public Optional when() { + return Optional.ofNullable(this.when); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumMetricUniqueness defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String when; + public Builder() {} + public Builder(RumMetricUniqueness defaults) { + Objects.requireNonNull(defaults); + this.when = defaults.when; + } + + @CustomType.Setter + public Builder when(@Nullable String when) { + + this.when = when; + return this; + } + public RumMetricUniqueness build() { + final var _resultValue = new RumMetricUniqueness(); + _resultValue.when = when; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestBrowserStep.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestBrowserStep.java index 33cbd497a..5bd7dd753 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestBrowserStep.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestBrowserStep.java @@ -20,6 +20,16 @@ public final class SyntheticsTestBrowserStep { * */ private @Nullable Boolean allowFailure; + /** + * @return Determines whether or not to always execute this step even if the previous step failed or was skipped. + * + */ + private @Nullable Boolean alwaysExecute; + /** + * @return Determines whether or not to exit the test if the step succeeds. + * + */ + private @Nullable Boolean exitIfSucceed; /** * @return Force update of the "element" parameter for the step * @@ -64,6 +74,20 @@ private SyntheticsTestBrowserStep() {} public Optional allowFailure() { return Optional.ofNullable(this.allowFailure); } + /** + * @return Determines whether or not to always execute this step even if the previous step failed or was skipped. + * + */ + public Optional alwaysExecute() { + return Optional.ofNullable(this.alwaysExecute); + } + /** + * @return Determines whether or not to exit the test if the step succeeds. + * + */ + public Optional exitIfSucceed() { + return Optional.ofNullable(this.exitIfSucceed); + } /** * @return Force update of the "element" parameter for the step * @@ -124,6 +148,8 @@ public static Builder builder(SyntheticsTestBrowserStep defaults) { @CustomType.Builder public static final class Builder { private @Nullable Boolean allowFailure; + private @Nullable Boolean alwaysExecute; + private @Nullable Boolean exitIfSucceed; private @Nullable Boolean forceElementUpdate; private @Nullable Boolean isCritical; private String name; @@ -135,6 +161,8 @@ public Builder() {} public Builder(SyntheticsTestBrowserStep defaults) { Objects.requireNonNull(defaults); this.allowFailure = defaults.allowFailure; + this.alwaysExecute = defaults.alwaysExecute; + this.exitIfSucceed = defaults.exitIfSucceed; this.forceElementUpdate = defaults.forceElementUpdate; this.isCritical = defaults.isCritical; this.name = defaults.name; @@ -151,6 +179,18 @@ public Builder allowFailure(@Nullable Boolean allowFailure) { return this; } @CustomType.Setter + public Builder alwaysExecute(@Nullable Boolean alwaysExecute) { + + this.alwaysExecute = alwaysExecute; + return this; + } + @CustomType.Setter + public Builder exitIfSucceed(@Nullable Boolean exitIfSucceed) { + + this.exitIfSucceed = exitIfSucceed; + return this; + } + @CustomType.Setter public Builder forceElementUpdate(@Nullable Boolean forceElementUpdate) { this.forceElementUpdate = forceElementUpdate; @@ -201,6 +241,8 @@ public Builder type(String type) { public SyntheticsTestBrowserStep build() { final var _resultValue = new SyntheticsTestBrowserStep(); _resultValue.allowFailure = allowFailure; + _resultValue.alwaysExecute = alwaysExecute; + _resultValue.exitIfSucceed = exitIfSucceed; _resultValue.forceElementUpdate = forceElementUpdate; _resultValue.isCritical = isCritical; _resultValue.name = name; diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 3eb0e371d..b95e2bdee 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -375,6 +375,11 @@ export type RumApplication = import("./rumApplication").RumApplication; export const RumApplication: typeof import("./rumApplication").RumApplication = null as any; utilities.lazyLoad(exports, ["RumApplication"], () => require("./rumApplication")); +export { RumMetricArgs, RumMetricState } from "./rumMetric"; +export type RumMetric = import("./rumMetric").RumMetric; +export const RumMetric: typeof import("./rumMetric").RumMetric = null as any; +utilities.lazyLoad(exports, ["RumMetric"], () => require("./rumMetric")); + export { SecurityMonitoringDefaultRuleArgs, SecurityMonitoringDefaultRuleState } from "./securityMonitoringDefaultRule"; export type SecurityMonitoringDefaultRule = import("./securityMonitoringDefaultRule").SecurityMonitoringDefaultRule; export const SecurityMonitoringDefaultRule: typeof import("./securityMonitoringDefaultRule").SecurityMonitoringDefaultRule = null as any; @@ -514,6 +519,7 @@ import * as config from "./config"; import * as confluent from "./confluent"; import * as fastly from "./fastly"; import * as gcp from "./gcp"; +import * as ms from "./ms"; import * as opsgenie from "./opsgenie"; import * as pagerduty from "./pagerduty"; import * as slack from "./slack"; @@ -527,6 +533,7 @@ export { confluent, fastly, gcp, + ms, opsgenie, pagerduty, slack, @@ -609,6 +616,8 @@ const _module = { return new Role(name, undefined, { urn }) case "datadog:index/rumApplication:RumApplication": return new RumApplication(name, undefined, { urn }) + case "datadog:index/rumMetric:RumMetric": + return new RumMetric(name, undefined, { urn }) case "datadog:index/securityMonitoringDefaultRule:SecurityMonitoringDefaultRule": return new SecurityMonitoringDefaultRule(name, undefined, { urn }) case "datadog:index/securityMonitoringFilter:SecurityMonitoringFilter": @@ -702,6 +711,7 @@ pulumi.runtime.registerResourceModule("datadog", "index/powerpack", _module) pulumi.runtime.registerResourceModule("datadog", "index/restrictionPolicy", _module) pulumi.runtime.registerResourceModule("datadog", "index/role", _module) pulumi.runtime.registerResourceModule("datadog", "index/rumApplication", _module) +pulumi.runtime.registerResourceModule("datadog", "index/rumMetric", _module) pulumi.runtime.registerResourceModule("datadog", "index/securityMonitoringDefaultRule", _module) pulumi.runtime.registerResourceModule("datadog", "index/securityMonitoringFilter", _module) pulumi.runtime.registerResourceModule("datadog", "index/securityMonitoringRule", _module) diff --git a/sdk/nodejs/ms/index.ts b/sdk/nodejs/ms/index.ts new file mode 100644 index 000000000..ff8d205cd --- /dev/null +++ b/sdk/nodejs/ms/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { IntegrationTeamsTenantBasedHandleArgs, IntegrationTeamsTenantBasedHandleState } from "./integrationTeamsTenantBasedHandle"; +export type IntegrationTeamsTenantBasedHandle = import("./integrationTeamsTenantBasedHandle").IntegrationTeamsTenantBasedHandle; +export const IntegrationTeamsTenantBasedHandle: typeof import("./integrationTeamsTenantBasedHandle").IntegrationTeamsTenantBasedHandle = null as any; +utilities.lazyLoad(exports, ["IntegrationTeamsTenantBasedHandle"], () => require("./integrationTeamsTenantBasedHandle")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle": + return new IntegrationTeamsTenantBasedHandle(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("datadog", "ms/integrationTeamsTenantBasedHandle", _module) diff --git a/sdk/nodejs/ms/integrationTeamsTenantBasedHandle.ts b/sdk/nodejs/ms/integrationTeamsTenantBasedHandle.ts new file mode 100644 index 000000000..947e428bb --- /dev/null +++ b/sdk/nodejs/ms/integrationTeamsTenantBasedHandle.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles. + */ +export class IntegrationTeamsTenantBasedHandle extends pulumi.CustomResource { + /** + * Get an existing IntegrationTeamsTenantBasedHandle resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: IntegrationTeamsTenantBasedHandleState, opts?: pulumi.CustomResourceOptions): IntegrationTeamsTenantBasedHandle { + return new IntegrationTeamsTenantBasedHandle(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle'; + + /** + * Returns true if the given object is an instance of IntegrationTeamsTenantBasedHandle. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is IntegrationTeamsTenantBasedHandle { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IntegrationTeamsTenantBasedHandle.__pulumiType; + } + + /** + * Your channel name. + */ + public readonly channelName!: pulumi.Output; + /** + * Your tenant-based handle name. + */ + public readonly name!: pulumi.Output; + /** + * Your team name. + */ + public readonly teamName!: pulumi.Output; + /** + * Your tenant name. + */ + public readonly tenantName!: pulumi.Output; + + /** + * Create a IntegrationTeamsTenantBasedHandle resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: IntegrationTeamsTenantBasedHandleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IntegrationTeamsTenantBasedHandleArgs | IntegrationTeamsTenantBasedHandleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IntegrationTeamsTenantBasedHandleState | undefined; + resourceInputs["channelName"] = state ? state.channelName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["teamName"] = state ? state.teamName : undefined; + resourceInputs["tenantName"] = state ? state.tenantName : undefined; + } else { + const args = argsOrState as IntegrationTeamsTenantBasedHandleArgs | undefined; + if ((!args || args.channelName === undefined) && !opts.urn) { + throw new Error("Missing required property 'channelName'"); + } + if ((!args || args.name === undefined) && !opts.urn) { + throw new Error("Missing required property 'name'"); + } + if ((!args || args.teamName === undefined) && !opts.urn) { + throw new Error("Missing required property 'teamName'"); + } + if ((!args || args.tenantName === undefined) && !opts.urn) { + throw new Error("Missing required property 'tenantName'"); + } + resourceInputs["channelName"] = args ? args.channelName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["teamName"] = args ? args.teamName : undefined; + resourceInputs["tenantName"] = args ? args.tenantName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IntegrationTeamsTenantBasedHandle.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IntegrationTeamsTenantBasedHandle resources. + */ +export interface IntegrationTeamsTenantBasedHandleState { + /** + * Your channel name. + */ + channelName?: pulumi.Input; + /** + * Your tenant-based handle name. + */ + name?: pulumi.Input; + /** + * Your team name. + */ + teamName?: pulumi.Input; + /** + * Your tenant name. + */ + tenantName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IntegrationTeamsTenantBasedHandle resource. + */ +export interface IntegrationTeamsTenantBasedHandleArgs { + /** + * Your channel name. + */ + channelName: pulumi.Input; + /** + * Your tenant-based handle name. + */ + name: pulumi.Input; + /** + * Your team name. + */ + teamName: pulumi.Input; + /** + * Your tenant name. + */ + tenantName: pulumi.Input; +} diff --git a/sdk/nodejs/rumMetric.ts b/sdk/nodejs/rumMetric.ts new file mode 100644 index 000000000..db655b1b1 --- /dev/null +++ b/sdk/nodejs/rumMetric.ts @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_metric. + * + * ## Import + * + * ```sh + * $ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric "testing.rum.metric" + * ``` + */ +export class RumMetric extends pulumi.CustomResource { + /** + * Get an existing RumMetric resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: RumMetricState, opts?: pulumi.CustomResourceOptions): RumMetric { + return new RumMetric(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'datadog:index/rumMetric:RumMetric'; + + /** + * Returns true if the given object is an instance of RumMetric. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is RumMetric { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RumMetric.__pulumiType; + } + + public readonly compute!: pulumi.Output; + /** + * The type of RUM events to filter on. + */ + public readonly eventType!: pulumi.Output; + public readonly filter!: pulumi.Output; + public readonly groupBies!: pulumi.Output; + /** + * The name of the RUM-based metric. This field can't be updated after creation. + */ + public readonly name!: pulumi.Output; + public readonly uniqueness!: pulumi.Output; + + /** + * Create a RumMetric resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: RumMetricArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RumMetricArgs | RumMetricState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RumMetricState | undefined; + resourceInputs["compute"] = state ? state.compute : undefined; + resourceInputs["eventType"] = state ? state.eventType : undefined; + resourceInputs["filter"] = state ? state.filter : undefined; + resourceInputs["groupBies"] = state ? state.groupBies : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["uniqueness"] = state ? state.uniqueness : undefined; + } else { + const args = argsOrState as RumMetricArgs | undefined; + if ((!args || args.eventType === undefined) && !opts.urn) { + throw new Error("Missing required property 'eventType'"); + } + if ((!args || args.name === undefined) && !opts.urn) { + throw new Error("Missing required property 'name'"); + } + resourceInputs["compute"] = args ? args.compute : undefined; + resourceInputs["eventType"] = args ? args.eventType : undefined; + resourceInputs["filter"] = args ? args.filter : undefined; + resourceInputs["groupBies"] = args ? args.groupBies : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["uniqueness"] = args ? args.uniqueness : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RumMetric.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RumMetric resources. + */ +export interface RumMetricState { + compute?: pulumi.Input; + /** + * The type of RUM events to filter on. + */ + eventType?: pulumi.Input; + filter?: pulumi.Input; + groupBies?: pulumi.Input[]>; + /** + * The name of the RUM-based metric. This field can't be updated after creation. + */ + name?: pulumi.Input; + uniqueness?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RumMetric resource. + */ +export interface RumMetricArgs { + compute?: pulumi.Input; + /** + * The type of RUM events to filter on. + */ + eventType: pulumi.Input; + filter?: pulumi.Input; + groupBies?: pulumi.Input[]>; + /** + * The name of the RUM-based metric. This field can't be updated after creation. + */ + name: pulumi.Input; + uniqueness?: pulumi.Input; +} diff --git a/sdk/nodejs/sensitiveDataScannerRule.ts b/sdk/nodejs/sensitiveDataScannerRule.ts index ce7f7ed9e..93cc8ac8a 100644 --- a/sdk/nodejs/sensitiveDataScannerRule.ts +++ b/sdk/nodejs/sensitiveDataScannerRule.ts @@ -56,7 +56,7 @@ export class SensitiveDataScannerRule extends pulumi.CustomResource { */ public readonly groupId!: pulumi.Output; /** - * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. */ public readonly includedKeywordConfiguration!: pulumi.Output; /** @@ -157,7 +157,7 @@ export interface SensitiveDataScannerRuleState { */ groupId?: pulumi.Input; /** - * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. */ includedKeywordConfiguration?: pulumi.Input; /** @@ -211,7 +211,7 @@ export interface SensitiveDataScannerRuleArgs { */ groupId: pulumi.Input; /** - * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + * Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standardPatternId` field, then discarding this field will apply the recommended keywords. Setting the `createBeforeDestroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. */ includedKeywordConfiguration?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7b5713750..95adda7f6 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -104,6 +104,8 @@ "monitor.ts", "monitorConfigPolicy.ts", "monitorJson.ts", + "ms/index.ts", + "ms/integrationTeamsTenantBasedHandle.ts", "openapiApi.ts", "opsgenie/index.ts", "opsgenie/serviceObject.ts", @@ -116,6 +118,7 @@ "restrictionPolicy.ts", "role.ts", "rumApplication.ts", + "rumMetric.ts", "securityMonitoringDefaultRule.ts", "securityMonitoringFilter.ts", "securityMonitoringRule.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 715dca33a..e33149206 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -21774,6 +21774,46 @@ export interface RolePermission { name?: pulumi.Input; } +export interface RumMetricCompute { + /** + * The type of aggregation to use. + */ + aggregationType: pulumi.Input; + /** + * Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. + */ + includePercentiles?: pulumi.Input; + /** + * The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. + */ + path?: pulumi.Input; +} + +export interface RumMetricFilter { + /** + * The search query. Follows RUM search syntax. + */ + query?: pulumi.Input; +} + +export interface RumMetricGroupBy { + /** + * The path to the value the RUM-based metric will be aggregated over. + */ + path?: pulumi.Input; + /** + * Name of the tag that gets created. By default, `path` is used as the tag name. + */ + tagName?: pulumi.Input; +} + +export interface RumMetricUniqueness { + /** + * When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + */ + when?: pulumi.Input; +} + export interface SecurityMonitoringDefaultRuleCase { /** * Notification targets for each rule case. @@ -22781,6 +22821,14 @@ export interface SyntheticsTestBrowserStep { * Determines if the step should be allowed to fail. */ allowFailure?: pulumi.Input; + /** + * Determines whether or not to always execute this step even if the previous step failed or was skipped. + */ + alwaysExecute?: pulumi.Input; + /** + * Determines whether or not to exit the test if the step succeeds. + */ + exitIfSucceed?: pulumi.Input; /** * Force update of the "element" parameter for the step */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index e7481bb1e..146618930 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -22453,6 +22453,46 @@ export interface RolePermission { name: string; } +export interface RumMetricCompute { + /** + * The type of aggregation to use. + */ + aggregationType: string; + /** + * Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregationType` is `distribution`. + */ + includePercentiles?: boolean; + /** + * The path to the value the RUM-based metric will aggregate on. Only present when `aggregationType` is `distribution`. + */ + path?: string; +} + +export interface RumMetricFilter { + /** + * The search query. Follows RUM search syntax. + */ + query?: string; +} + +export interface RumMetricGroupBy { + /** + * The path to the value the RUM-based metric will be aggregated over. + */ + path?: string; + /** + * Name of the tag that gets created. By default, `path` is used as the tag name. + */ + tagName?: string; +} + +export interface RumMetricUniqueness { + /** + * When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + */ + when?: string; +} + export interface SecurityMonitoringDefaultRuleCase { /** * Notification targets for each rule case. @@ -23460,6 +23500,14 @@ export interface SyntheticsTestBrowserStep { * Determines if the step should be allowed to fail. */ allowFailure?: boolean; + /** + * Determines whether or not to always execute this step even if the previous step failed or was skipped. + */ + alwaysExecute?: boolean; + /** + * Determines whether or not to exit the test if the step succeeds. + */ + exitIfSucceed?: boolean; /** * Force update of the "element" parameter for the step */ diff --git a/sdk/python/pulumi_datadog/__init__.py b/sdk/python/pulumi_datadog/__init__.py index 1a72df8c1..fb2418cf8 100644 --- a/sdk/python/pulumi_datadog/__init__.py +++ b/sdk/python/pulumi_datadog/__init__.py @@ -79,6 +79,7 @@ from .restriction_policy import * from .role import * from .rum_application import * +from .rum_metric import * from .security_monitoring_default_rule import * from .security_monitoring_filter import * from .security_monitoring_rule import * @@ -124,6 +125,8 @@ fastly = __fastly import pulumi_datadog.gcp as __gcp gcp = __gcp + import pulumi_datadog.ms as __ms + ms = __ms import pulumi_datadog.opsgenie as __opsgenie opsgenie = __opsgenie import pulumi_datadog.pagerduty as __pagerduty @@ -138,6 +141,7 @@ confluent = _utilities.lazy_import('pulumi_datadog.confluent') fastly = _utilities.lazy_import('pulumi_datadog.fastly') gcp = _utilities.lazy_import('pulumi_datadog.gcp') + ms = _utilities.lazy_import('pulumi_datadog.ms') opsgenie = _utilities.lazy_import('pulumi_datadog.opsgenie') pagerduty = _utilities.lazy_import('pulumi_datadog.pagerduty') slack = _utilities.lazy_import('pulumi_datadog.slack') @@ -537,6 +541,14 @@ "datadog:index/rumApplication:RumApplication": "RumApplication" } }, + { + "pkg": "datadog", + "mod": "index/rumMetric", + "fqn": "pulumi_datadog", + "classes": { + "datadog:index/rumMetric:RumMetric": "RumMetric" + } + }, { "pkg": "datadog", "mod": "index/securityMonitoringDefaultRule", @@ -745,6 +757,14 @@ "datadog:index/webhookCustomVariable:WebhookCustomVariable": "WebhookCustomVariable" } }, + { + "pkg": "datadog", + "mod": "ms/integrationTeamsTenantBasedHandle", + "fqn": "pulumi_datadog.ms", + "classes": { + "datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle": "IntegrationTeamsTenantBasedHandle" + } + }, { "pkg": "datadog", "mod": "opsgenie/serviceObject", diff --git a/sdk/python/pulumi_datadog/_inputs.py b/sdk/python/pulumi_datadog/_inputs.py index f82e8a4ac..7441780eb 100644 --- a/sdk/python/pulumi_datadog/_inputs.py +++ b/sdk/python/pulumi_datadog/_inputs.py @@ -2019,6 +2019,14 @@ 'RestrictionPolicyBindingArgsDict', 'RolePermissionArgs', 'RolePermissionArgsDict', + 'RumMetricComputeArgs', + 'RumMetricComputeArgsDict', + 'RumMetricFilterArgs', + 'RumMetricFilterArgsDict', + 'RumMetricGroupByArgs', + 'RumMetricGroupByArgsDict', + 'RumMetricUniquenessArgs', + 'RumMetricUniquenessArgsDict', 'SecurityMonitoringDefaultRuleCaseArgs', 'SecurityMonitoringDefaultRuleCaseArgsDict', 'SecurityMonitoringDefaultRuleFilterArgs', @@ -107080,6 +107088,193 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +if not MYPY: + class RumMetricComputeArgsDict(TypedDict): + aggregation_type: pulumi.Input[str] + """ + The type of aggregation to use. + """ + include_percentiles: NotRequired[pulumi.Input[bool]] + """ + Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + """ + path: NotRequired[pulumi.Input[str]] + """ + The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + """ +elif False: + RumMetricComputeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RumMetricComputeArgs: + def __init__(__self__, *, + aggregation_type: pulumi.Input[str], + include_percentiles: Optional[pulumi.Input[bool]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] aggregation_type: The type of aggregation to use. + :param pulumi.Input[bool] include_percentiles: Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + :param pulumi.Input[str] path: The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + """ + pulumi.set(__self__, "aggregation_type", aggregation_type) + if include_percentiles is not None: + pulumi.set(__self__, "include_percentiles", include_percentiles) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="aggregationType") + def aggregation_type(self) -> pulumi.Input[str]: + """ + The type of aggregation to use. + """ + return pulumi.get(self, "aggregation_type") + + @aggregation_type.setter + def aggregation_type(self, value: pulumi.Input[str]): + pulumi.set(self, "aggregation_type", value) + + @property + @pulumi.getter(name="includePercentiles") + def include_percentiles(self) -> Optional[pulumi.Input[bool]]: + """ + Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + """ + return pulumi.get(self, "include_percentiles") + + @include_percentiles.setter + def include_percentiles(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_percentiles", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +if not MYPY: + class RumMetricFilterArgsDict(TypedDict): + query: NotRequired[pulumi.Input[str]] + """ + The search query. Follows RUM search syntax. + """ +elif False: + RumMetricFilterArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RumMetricFilterArgs: + def __init__(__self__, *, + query: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] query: The search query. Follows RUM search syntax. + """ + if query is not None: + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> Optional[pulumi.Input[str]]: + """ + The search query. Follows RUM search syntax. + """ + return pulumi.get(self, "query") + + @query.setter + def query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "query", value) + + +if not MYPY: + class RumMetricGroupByArgsDict(TypedDict): + path: NotRequired[pulumi.Input[str]] + """ + The path to the value the RUM-based metric will be aggregated over. + """ + tag_name: NotRequired[pulumi.Input[str]] + """ + Name of the tag that gets created. By default, `path` is used as the tag name. + """ +elif False: + RumMetricGroupByArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RumMetricGroupByArgs: + def __init__(__self__, *, + path: Optional[pulumi.Input[str]] = None, + tag_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] path: The path to the value the RUM-based metric will be aggregated over. + :param pulumi.Input[str] tag_name: Name of the tag that gets created. By default, `path` is used as the tag name. + """ + if path is not None: + pulumi.set(__self__, "path", path) + if tag_name is not None: + pulumi.set(__self__, "tag_name", tag_name) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The path to the value the RUM-based metric will be aggregated over. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="tagName") + def tag_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the tag that gets created. By default, `path` is used as the tag name. + """ + return pulumi.get(self, "tag_name") + + @tag_name.setter + def tag_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_name", value) + + +if not MYPY: + class RumMetricUniquenessArgsDict(TypedDict): + when: NotRequired[pulumi.Input[str]] + """ + When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + """ +elif False: + RumMetricUniquenessArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RumMetricUniquenessArgs: + def __init__(__self__, *, + when: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] when: When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + """ + if when is not None: + pulumi.set(__self__, "when", when) + + @property + @pulumi.getter + def when(self) -> Optional[pulumi.Input[str]]: + """ + When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + """ + return pulumi.get(self, "when") + + @when.setter + def when(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "when", value) + + if not MYPY: class SecurityMonitoringDefaultRuleCaseArgsDict(TypedDict): notifications: pulumi.Input[Sequence[pulumi.Input[str]]] @@ -111903,6 +112098,14 @@ class SyntheticsTestBrowserStepArgsDict(TypedDict): """ Determines if the step should be allowed to fail. """ + always_execute: NotRequired[pulumi.Input[bool]] + """ + Determines whether or not to always execute this step even if the previous step failed or was skipped. + """ + exit_if_succeed: NotRequired[pulumi.Input[bool]] + """ + Determines whether or not to exit the test if the step succeeds. + """ force_element_update: NotRequired[pulumi.Input[bool]] """ Force update of the "element" parameter for the step @@ -111929,6 +112132,8 @@ def __init__(__self__, *, params: pulumi.Input['SyntheticsTestBrowserStepParamsArgs'], type: pulumi.Input[str], allow_failure: Optional[pulumi.Input[bool]] = None, + always_execute: Optional[pulumi.Input[bool]] = None, + exit_if_succeed: Optional[pulumi.Input[bool]] = None, force_element_update: Optional[pulumi.Input[bool]] = None, is_critical: Optional[pulumi.Input[bool]] = None, no_screenshot: Optional[pulumi.Input[bool]] = None, @@ -111938,6 +112143,8 @@ def __init__(__self__, *, :param pulumi.Input['SyntheticsTestBrowserStepParamsArgs'] params: Parameters for the step. :param pulumi.Input[str] type: Type of the step. Valid values are `assertCurrentUrl`, `assertElementAttribute`, `assertElementContent`, `assertElementPresent`, `assertEmail`, `assertFileDownload`, `assertFromJavascript`, `assertPageContains`, `assertPageLacks`, `click`, `extractFromJavascript`, `extractVariable`, `goToEmailLink`, `goToUrl`, `goToUrlAndMeasureTti`, `hover`, `playSubTest`, `pressKey`, `refresh`, `runApiTest`, `scroll`, `selectOption`, `typeText`, `uploadFiles`, `wait`. :param pulumi.Input[bool] allow_failure: Determines if the step should be allowed to fail. + :param pulumi.Input[bool] always_execute: Determines whether or not to always execute this step even if the previous step failed or was skipped. + :param pulumi.Input[bool] exit_if_succeed: Determines whether or not to exit the test if the step succeeds. :param pulumi.Input[bool] force_element_update: Force update of the "element" parameter for the step :param pulumi.Input[bool] is_critical: Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allow_failure` is `true`. :param pulumi.Input[bool] no_screenshot: Prevents saving screenshots of the step. @@ -111948,6 +112155,10 @@ def __init__(__self__, *, pulumi.set(__self__, "type", type) if allow_failure is not None: pulumi.set(__self__, "allow_failure", allow_failure) + if always_execute is not None: + pulumi.set(__self__, "always_execute", always_execute) + if exit_if_succeed is not None: + pulumi.set(__self__, "exit_if_succeed", exit_if_succeed) if force_element_update is not None: pulumi.set(__self__, "force_element_update", force_element_update) if is_critical is not None: @@ -112005,6 +112216,30 @@ def allow_failure(self) -> Optional[pulumi.Input[bool]]: def allow_failure(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "allow_failure", value) + @property + @pulumi.getter(name="alwaysExecute") + def always_execute(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not to always execute this step even if the previous step failed or was skipped. + """ + return pulumi.get(self, "always_execute") + + @always_execute.setter + def always_execute(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "always_execute", value) + + @property + @pulumi.getter(name="exitIfSucceed") + def exit_if_succeed(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not to exit the test if the step succeeds. + """ + return pulumi.get(self, "exit_if_succeed") + + @exit_if_succeed.setter + def exit_if_succeed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "exit_if_succeed", value) + @property @pulumi.getter(name="forceElementUpdate") def force_element_update(self) -> Optional[pulumi.Input[bool]]: diff --git a/sdk/python/pulumi_datadog/ms/__init__.py b/sdk/python/pulumi_datadog/ms/__init__.py new file mode 100644 index 000000000..ce728b82e --- /dev/null +++ b/sdk/python/pulumi_datadog/ms/__init__.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .integration_teams_tenant_based_handle import * diff --git a/sdk/python/pulumi_datadog/ms/integration_teams_tenant_based_handle.py b/sdk/python/pulumi_datadog/ms/integration_teams_tenant_based_handle.py new file mode 100644 index 000000000..172d90b26 --- /dev/null +++ b/sdk/python/pulumi_datadog/ms/integration_teams_tenant_based_handle.py @@ -0,0 +1,295 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['IntegrationTeamsTenantBasedHandleArgs', 'IntegrationTeamsTenantBasedHandle'] + +@pulumi.input_type +class IntegrationTeamsTenantBasedHandleArgs: + def __init__(__self__, *, + channel_name: pulumi.Input[str], + name: pulumi.Input[str], + team_name: pulumi.Input[str], + tenant_name: pulumi.Input[str]): + """ + The set of arguments for constructing a IntegrationTeamsTenantBasedHandle resource. + :param pulumi.Input[str] channel_name: Your channel name. + :param pulumi.Input[str] name: Your tenant-based handle name. + :param pulumi.Input[str] team_name: Your team name. + :param pulumi.Input[str] tenant_name: Your tenant name. + """ + pulumi.set(__self__, "channel_name", channel_name) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "team_name", team_name) + pulumi.set(__self__, "tenant_name", tenant_name) + + @property + @pulumi.getter(name="channelName") + def channel_name(self) -> pulumi.Input[str]: + """ + Your channel name. + """ + return pulumi.get(self, "channel_name") + + @channel_name.setter + def channel_name(self, value: pulumi.Input[str]): + pulumi.set(self, "channel_name", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Your tenant-based handle name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="teamName") + def team_name(self) -> pulumi.Input[str]: + """ + Your team name. + """ + return pulumi.get(self, "team_name") + + @team_name.setter + def team_name(self, value: pulumi.Input[str]): + pulumi.set(self, "team_name", value) + + @property + @pulumi.getter(name="tenantName") + def tenant_name(self) -> pulumi.Input[str]: + """ + Your tenant name. + """ + return pulumi.get(self, "tenant_name") + + @tenant_name.setter + def tenant_name(self, value: pulumi.Input[str]): + pulumi.set(self, "tenant_name", value) + + +@pulumi.input_type +class _IntegrationTeamsTenantBasedHandleState: + def __init__(__self__, *, + channel_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + team_name: Optional[pulumi.Input[str]] = None, + tenant_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IntegrationTeamsTenantBasedHandle resources. + :param pulumi.Input[str] channel_name: Your channel name. + :param pulumi.Input[str] name: Your tenant-based handle name. + :param pulumi.Input[str] team_name: Your team name. + :param pulumi.Input[str] tenant_name: Your tenant name. + """ + if channel_name is not None: + pulumi.set(__self__, "channel_name", channel_name) + if name is not None: + pulumi.set(__self__, "name", name) + if team_name is not None: + pulumi.set(__self__, "team_name", team_name) + if tenant_name is not None: + pulumi.set(__self__, "tenant_name", tenant_name) + + @property + @pulumi.getter(name="channelName") + def channel_name(self) -> Optional[pulumi.Input[str]]: + """ + Your channel name. + """ + return pulumi.get(self, "channel_name") + + @channel_name.setter + def channel_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "channel_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Your tenant-based handle name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="teamName") + def team_name(self) -> Optional[pulumi.Input[str]]: + """ + Your team name. + """ + return pulumi.get(self, "team_name") + + @team_name.setter + def team_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "team_name", value) + + @property + @pulumi.getter(name="tenantName") + def tenant_name(self) -> Optional[pulumi.Input[str]]: + """ + Your tenant name. + """ + return pulumi.get(self, "tenant_name") + + @tenant_name.setter + def tenant_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_name", value) + + +class IntegrationTeamsTenantBasedHandle(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + channel_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + team_name: Optional[pulumi.Input[str]] = None, + tenant_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] channel_name: Your channel name. + :param pulumi.Input[str] name: Your tenant-based handle name. + :param pulumi.Input[str] team_name: Your team name. + :param pulumi.Input[str] tenant_name: Your tenant name. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IntegrationTeamsTenantBasedHandleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for interacting with Datadog Microsoft Teams Integration tenant-based handles. + + :param str resource_name: The name of the resource. + :param IntegrationTeamsTenantBasedHandleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(IntegrationTeamsTenantBasedHandleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + channel_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + team_name: Optional[pulumi.Input[str]] = None, + tenant_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = IntegrationTeamsTenantBasedHandleArgs.__new__(IntegrationTeamsTenantBasedHandleArgs) + + if channel_name is None and not opts.urn: + raise TypeError("Missing required property 'channel_name'") + __props__.__dict__["channel_name"] = channel_name + if name is None and not opts.urn: + raise TypeError("Missing required property 'name'") + __props__.__dict__["name"] = name + if team_name is None and not opts.urn: + raise TypeError("Missing required property 'team_name'") + __props__.__dict__["team_name"] = team_name + if tenant_name is None and not opts.urn: + raise TypeError("Missing required property 'tenant_name'") + __props__.__dict__["tenant_name"] = tenant_name + super(IntegrationTeamsTenantBasedHandle, __self__).__init__( + 'datadog:ms/integrationTeamsTenantBasedHandle:IntegrationTeamsTenantBasedHandle', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + channel_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + team_name: Optional[pulumi.Input[str]] = None, + tenant_name: Optional[pulumi.Input[str]] = None) -> 'IntegrationTeamsTenantBasedHandle': + """ + Get an existing IntegrationTeamsTenantBasedHandle resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] channel_name: Your channel name. + :param pulumi.Input[str] name: Your tenant-based handle name. + :param pulumi.Input[str] team_name: Your team name. + :param pulumi.Input[str] tenant_name: Your tenant name. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IntegrationTeamsTenantBasedHandleState.__new__(_IntegrationTeamsTenantBasedHandleState) + + __props__.__dict__["channel_name"] = channel_name + __props__.__dict__["name"] = name + __props__.__dict__["team_name"] = team_name + __props__.__dict__["tenant_name"] = tenant_name + return IntegrationTeamsTenantBasedHandle(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="channelName") + def channel_name(self) -> pulumi.Output[str]: + """ + Your channel name. + """ + return pulumi.get(self, "channel_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Your tenant-based handle name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="teamName") + def team_name(self) -> pulumi.Output[str]: + """ + Your team name. + """ + return pulumi.get(self, "team_name") + + @property + @pulumi.getter(name="tenantName") + def tenant_name(self) -> pulumi.Output[str]: + """ + Your tenant name. + """ + return pulumi.get(self, "tenant_name") + diff --git a/sdk/python/pulumi_datadog/outputs.py b/sdk/python/pulumi_datadog/outputs.py index 8cadae480..1963d773e 100644 --- a/sdk/python/pulumi_datadog/outputs.py +++ b/sdk/python/pulumi_datadog/outputs.py @@ -1017,6 +1017,10 @@ 'PowerpackWidgetWidgetLayout', 'RestrictionPolicyBinding', 'RolePermission', + 'RumMetricCompute', + 'RumMetricFilter', + 'RumMetricGroupBy', + 'RumMetricUniqueness', 'SecurityMonitoringDefaultRuleCase', 'SecurityMonitoringDefaultRuleFilter', 'SecurityMonitoringDefaultRuleOptions', @@ -77096,6 +77100,153 @@ def name(self) -> Optional[str]: return pulumi.get(self, "name") +@pulumi.output_type +class RumMetricCompute(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "aggregationType": + suggest = "aggregation_type" + elif key == "includePercentiles": + suggest = "include_percentiles" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RumMetricCompute. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RumMetricCompute.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RumMetricCompute.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aggregation_type: str, + include_percentiles: Optional[bool] = None, + path: Optional[str] = None): + """ + :param str aggregation_type: The type of aggregation to use. + :param bool include_percentiles: Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + :param str path: The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + """ + pulumi.set(__self__, "aggregation_type", aggregation_type) + if include_percentiles is not None: + pulumi.set(__self__, "include_percentiles", include_percentiles) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="aggregationType") + def aggregation_type(self) -> str: + """ + The type of aggregation to use. + """ + return pulumi.get(self, "aggregation_type") + + @property + @pulumi.getter(name="includePercentiles") + def include_percentiles(self) -> Optional[bool]: + """ + Toggle to include or exclude percentile aggregations for distribution metrics. Only present when `aggregation_type` is `distribution`. + """ + return pulumi.get(self, "include_percentiles") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The path to the value the RUM-based metric will aggregate on. Only present when `aggregation_type` is `distribution`. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class RumMetricFilter(dict): + def __init__(__self__, *, + query: Optional[str] = None): + """ + :param str query: The search query. Follows RUM search syntax. + """ + if query is not None: + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> Optional[str]: + """ + The search query. Follows RUM search syntax. + """ + return pulumi.get(self, "query") + + +@pulumi.output_type +class RumMetricGroupBy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagName": + suggest = "tag_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RumMetricGroupBy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RumMetricGroupBy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RumMetricGroupBy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + path: Optional[str] = None, + tag_name: Optional[str] = None): + """ + :param str path: The path to the value the RUM-based metric will be aggregated over. + :param str tag_name: Name of the tag that gets created. By default, `path` is used as the tag name. + """ + if path is not None: + pulumi.set(__self__, "path", path) + if tag_name is not None: + pulumi.set(__self__, "tag_name", tag_name) + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The path to the value the RUM-based metric will be aggregated over. + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="tagName") + def tag_name(self) -> Optional[str]: + """ + Name of the tag that gets created. By default, `path` is used as the tag name. + """ + return pulumi.get(self, "tag_name") + + +@pulumi.output_type +class RumMetricUniqueness(dict): + def __init__(__self__, *, + when: Optional[str] = None): + """ + :param str when: When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + """ + if when is not None: + pulumi.set(__self__, "when", when) + + @property + @pulumi.getter + def when(self) -> Optional[str]: + """ + When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + """ + return pulumi.get(self, "when") + + @pulumi.output_type class SecurityMonitoringDefaultRuleCase(dict): def __init__(__self__, *, @@ -80565,6 +80716,10 @@ def __key_warning(key: str): suggest = None if key == "allowFailure": suggest = "allow_failure" + elif key == "alwaysExecute": + suggest = "always_execute" + elif key == "exitIfSucceed": + suggest = "exit_if_succeed" elif key == "forceElementUpdate": suggest = "force_element_update" elif key == "isCritical": @@ -80588,6 +80743,8 @@ def __init__(__self__, *, params: 'outputs.SyntheticsTestBrowserStepParams', type: str, allow_failure: Optional[bool] = None, + always_execute: Optional[bool] = None, + exit_if_succeed: Optional[bool] = None, force_element_update: Optional[bool] = None, is_critical: Optional[bool] = None, no_screenshot: Optional[bool] = None, @@ -80597,6 +80754,8 @@ def __init__(__self__, *, :param 'SyntheticsTestBrowserStepParamsArgs' params: Parameters for the step. :param str type: Type of the step. Valid values are `assertCurrentUrl`, `assertElementAttribute`, `assertElementContent`, `assertElementPresent`, `assertEmail`, `assertFileDownload`, `assertFromJavascript`, `assertPageContains`, `assertPageLacks`, `click`, `extractFromJavascript`, `extractVariable`, `goToEmailLink`, `goToUrl`, `goToUrlAndMeasureTti`, `hover`, `playSubTest`, `pressKey`, `refresh`, `runApiTest`, `scroll`, `selectOption`, `typeText`, `uploadFiles`, `wait`. :param bool allow_failure: Determines if the step should be allowed to fail. + :param bool always_execute: Determines whether or not to always execute this step even if the previous step failed or was skipped. + :param bool exit_if_succeed: Determines whether or not to exit the test if the step succeeds. :param bool force_element_update: Force update of the "element" parameter for the step :param bool is_critical: Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allow_failure` is `true`. :param bool no_screenshot: Prevents saving screenshots of the step. @@ -80607,6 +80766,10 @@ def __init__(__self__, *, pulumi.set(__self__, "type", type) if allow_failure is not None: pulumi.set(__self__, "allow_failure", allow_failure) + if always_execute is not None: + pulumi.set(__self__, "always_execute", always_execute) + if exit_if_succeed is not None: + pulumi.set(__self__, "exit_if_succeed", exit_if_succeed) if force_element_update is not None: pulumi.set(__self__, "force_element_update", force_element_update) if is_critical is not None: @@ -80648,6 +80811,22 @@ def allow_failure(self) -> Optional[bool]: """ return pulumi.get(self, "allow_failure") + @property + @pulumi.getter(name="alwaysExecute") + def always_execute(self) -> Optional[bool]: + """ + Determines whether or not to always execute this step even if the previous step failed or was skipped. + """ + return pulumi.get(self, "always_execute") + + @property + @pulumi.getter(name="exitIfSucceed") + def exit_if_succeed(self) -> Optional[bool]: + """ + Determines whether or not to exit the test if the step succeeds. + """ + return pulumi.get(self, "exit_if_succeed") + @property @pulumi.getter(name="forceElementUpdate") def force_element_update(self) -> Optional[bool]: diff --git a/sdk/python/pulumi_datadog/rum_metric.py b/sdk/python/pulumi_datadog/rum_metric.py new file mode 100644 index 000000000..a2f3e5cb1 --- /dev/null +++ b/sdk/python/pulumi_datadog/rum_metric.py @@ -0,0 +1,349 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RumMetricArgs', 'RumMetric'] + +@pulumi.input_type +class RumMetricArgs: + def __init__(__self__, *, + event_type: pulumi.Input[str], + name: pulumi.Input[str], + compute: Optional[pulumi.Input['RumMetricComputeArgs']] = None, + filter: Optional[pulumi.Input['RumMetricFilterArgs']] = None, + group_bies: Optional[pulumi.Input[Sequence[pulumi.Input['RumMetricGroupByArgs']]]] = None, + uniqueness: Optional[pulumi.Input['RumMetricUniquenessArgs']] = None): + """ + The set of arguments for constructing a RumMetric resource. + :param pulumi.Input[str] event_type: The type of RUM events to filter on. + :param pulumi.Input[str] name: The name of the RUM-based metric. This field can't be updated after creation. + """ + pulumi.set(__self__, "event_type", event_type) + pulumi.set(__self__, "name", name) + if compute is not None: + pulumi.set(__self__, "compute", compute) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if group_bies is not None: + pulumi.set(__self__, "group_bies", group_bies) + if uniqueness is not None: + pulumi.set(__self__, "uniqueness", uniqueness) + + @property + @pulumi.getter(name="eventType") + def event_type(self) -> pulumi.Input[str]: + """ + The type of RUM events to filter on. + """ + return pulumi.get(self, "event_type") + + @event_type.setter + def event_type(self, value: pulumi.Input[str]): + pulumi.set(self, "event_type", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the RUM-based metric. This field can't be updated after creation. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def compute(self) -> Optional[pulumi.Input['RumMetricComputeArgs']]: + return pulumi.get(self, "compute") + + @compute.setter + def compute(self, value: Optional[pulumi.Input['RumMetricComputeArgs']]): + pulumi.set(self, "compute", value) + + @property + @pulumi.getter + def filter(self) -> Optional[pulumi.Input['RumMetricFilterArgs']]: + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: Optional[pulumi.Input['RumMetricFilterArgs']]): + pulumi.set(self, "filter", value) + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RumMetricGroupByArgs']]]]: + return pulumi.get(self, "group_bies") + + @group_bies.setter + def group_bies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RumMetricGroupByArgs']]]]): + pulumi.set(self, "group_bies", value) + + @property + @pulumi.getter + def uniqueness(self) -> Optional[pulumi.Input['RumMetricUniquenessArgs']]: + return pulumi.get(self, "uniqueness") + + @uniqueness.setter + def uniqueness(self, value: Optional[pulumi.Input['RumMetricUniquenessArgs']]): + pulumi.set(self, "uniqueness", value) + + +@pulumi.input_type +class _RumMetricState: + def __init__(__self__, *, + compute: Optional[pulumi.Input['RumMetricComputeArgs']] = None, + event_type: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input['RumMetricFilterArgs']] = None, + group_bies: Optional[pulumi.Input[Sequence[pulumi.Input['RumMetricGroupByArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + uniqueness: Optional[pulumi.Input['RumMetricUniquenessArgs']] = None): + """ + Input properties used for looking up and filtering RumMetric resources. + :param pulumi.Input[str] event_type: The type of RUM events to filter on. + :param pulumi.Input[str] name: The name of the RUM-based metric. This field can't be updated after creation. + """ + if compute is not None: + pulumi.set(__self__, "compute", compute) + if event_type is not None: + pulumi.set(__self__, "event_type", event_type) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if group_bies is not None: + pulumi.set(__self__, "group_bies", group_bies) + if name is not None: + pulumi.set(__self__, "name", name) + if uniqueness is not None: + pulumi.set(__self__, "uniqueness", uniqueness) + + @property + @pulumi.getter + def compute(self) -> Optional[pulumi.Input['RumMetricComputeArgs']]: + return pulumi.get(self, "compute") + + @compute.setter + def compute(self, value: Optional[pulumi.Input['RumMetricComputeArgs']]): + pulumi.set(self, "compute", value) + + @property + @pulumi.getter(name="eventType") + def event_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of RUM events to filter on. + """ + return pulumi.get(self, "event_type") + + @event_type.setter + def event_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_type", value) + + @property + @pulumi.getter + def filter(self) -> Optional[pulumi.Input['RumMetricFilterArgs']]: + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: Optional[pulumi.Input['RumMetricFilterArgs']]): + pulumi.set(self, "filter", value) + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RumMetricGroupByArgs']]]]: + return pulumi.get(self, "group_bies") + + @group_bies.setter + def group_bies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RumMetricGroupByArgs']]]]): + pulumi.set(self, "group_bies", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the RUM-based metric. This field can't be updated after creation. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def uniqueness(self) -> Optional[pulumi.Input['RumMetricUniquenessArgs']]: + return pulumi.get(self, "uniqueness") + + @uniqueness.setter + def uniqueness(self, value: Optional[pulumi.Input['RumMetricUniquenessArgs']]): + pulumi.set(self, "uniqueness", value) + + +class RumMetric(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + compute: Optional[pulumi.Input[Union['RumMetricComputeArgs', 'RumMetricComputeArgsDict']]] = None, + event_type: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[Union['RumMetricFilterArgs', 'RumMetricFilterArgsDict']]] = None, + group_bies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RumMetricGroupByArgs', 'RumMetricGroupByArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + uniqueness: Optional[pulumi.Input[Union['RumMetricUniquenessArgs', 'RumMetricUniquenessArgsDict']]] = None, + __props__=None): + """ + Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_metric. + + ## Import + + ```sh + $ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric "testing.rum.metric" + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] event_type: The type of RUM events to filter on. + :param pulumi.Input[str] name: The name of the RUM-based metric. This field can't be updated after creation. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RumMetricArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Datadog RumMetric resource. This can be used to create and manage Datadog rum_metric. + + ## Import + + ```sh + $ pulumi import datadog:index/rumMetric:RumMetric testing_rum_metric "testing.rum.metric" + ``` + + :param str resource_name: The name of the resource. + :param RumMetricArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RumMetricArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + compute: Optional[pulumi.Input[Union['RumMetricComputeArgs', 'RumMetricComputeArgsDict']]] = None, + event_type: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[Union['RumMetricFilterArgs', 'RumMetricFilterArgsDict']]] = None, + group_bies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RumMetricGroupByArgs', 'RumMetricGroupByArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + uniqueness: Optional[pulumi.Input[Union['RumMetricUniquenessArgs', 'RumMetricUniquenessArgsDict']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RumMetricArgs.__new__(RumMetricArgs) + + __props__.__dict__["compute"] = compute + if event_type is None and not opts.urn: + raise TypeError("Missing required property 'event_type'") + __props__.__dict__["event_type"] = event_type + __props__.__dict__["filter"] = filter + __props__.__dict__["group_bies"] = group_bies + if name is None and not opts.urn: + raise TypeError("Missing required property 'name'") + __props__.__dict__["name"] = name + __props__.__dict__["uniqueness"] = uniqueness + super(RumMetric, __self__).__init__( + 'datadog:index/rumMetric:RumMetric', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + compute: Optional[pulumi.Input[Union['RumMetricComputeArgs', 'RumMetricComputeArgsDict']]] = None, + event_type: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[Union['RumMetricFilterArgs', 'RumMetricFilterArgsDict']]] = None, + group_bies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RumMetricGroupByArgs', 'RumMetricGroupByArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + uniqueness: Optional[pulumi.Input[Union['RumMetricUniquenessArgs', 'RumMetricUniquenessArgsDict']]] = None) -> 'RumMetric': + """ + Get an existing RumMetric resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] event_type: The type of RUM events to filter on. + :param pulumi.Input[str] name: The name of the RUM-based metric. This field can't be updated after creation. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RumMetricState.__new__(_RumMetricState) + + __props__.__dict__["compute"] = compute + __props__.__dict__["event_type"] = event_type + __props__.__dict__["filter"] = filter + __props__.__dict__["group_bies"] = group_bies + __props__.__dict__["name"] = name + __props__.__dict__["uniqueness"] = uniqueness + return RumMetric(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def compute(self) -> pulumi.Output[Optional['outputs.RumMetricCompute']]: + return pulumi.get(self, "compute") + + @property + @pulumi.getter(name="eventType") + def event_type(self) -> pulumi.Output[str]: + """ + The type of RUM events to filter on. + """ + return pulumi.get(self, "event_type") + + @property + @pulumi.getter + def filter(self) -> pulumi.Output[Optional['outputs.RumMetricFilter']]: + return pulumi.get(self, "filter") + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> pulumi.Output[Optional[Sequence['outputs.RumMetricGroupBy']]]: + return pulumi.get(self, "group_bies") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the RUM-based metric. This field can't be updated after creation. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def uniqueness(self) -> pulumi.Output[Optional['outputs.RumMetricUniqueness']]: + return pulumi.get(self, "uniqueness") + diff --git a/sdk/python/pulumi_datadog/sensitive_data_scanner_rule.py b/sdk/python/pulumi_datadog/sensitive_data_scanner_rule.py index 9188407ef..e05d00d4b 100644 --- a/sdk/python/pulumi_datadog/sensitive_data_scanner_rule.py +++ b/sdk/python/pulumi_datadog/sensitive_data_scanner_rule.py @@ -38,7 +38,7 @@ def __init__(__self__, *, :param pulumi.Input[str] group_id: Id of the scanning group the rule belongs to. :param pulumi.Input[str] description: Description of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_namespaces: Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array. - :param pulumi.Input['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs'] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + :param pulumi.Input['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs'] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. :param pulumi.Input[bool] is_enabled: Whether or not the rule is enabled. :param pulumi.Input[str] name: Name of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] namespaces: Attributes included in the scan. If namespaces is empty or missing, all attributes except excluded_namespaces are scanned. If both are missing the whole event is scanned. @@ -112,7 +112,7 @@ def excluded_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @pulumi.getter(name="includedKeywordConfiguration") def included_keyword_configuration(self) -> Optional[pulumi.Input['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs']]: """ - Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. """ return pulumi.get(self, "included_keyword_configuration") @@ -237,7 +237,7 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_namespaces: Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array. :param pulumi.Input[str] group_id: Id of the scanning group the rule belongs to. - :param pulumi.Input['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs'] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + :param pulumi.Input['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs'] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. :param pulumi.Input[bool] is_enabled: Whether or not the rule is enabled. :param pulumi.Input[str] name: Name of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] namespaces: Attributes included in the scan. If namespaces is empty or missing, all attributes except excluded_namespaces are scanned. If both are missing the whole event is scanned. @@ -312,7 +312,7 @@ def group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="includedKeywordConfiguration") def included_keyword_configuration(self) -> Optional[pulumi.Input['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs']]: """ - Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. """ return pulumi.get(self, "included_keyword_configuration") @@ -449,7 +449,7 @@ def __init__(__self__, :param pulumi.Input[str] description: Description of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_namespaces: Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array. :param pulumi.Input[str] group_id: Id of the scanning group the rule belongs to. - :param pulumi.Input[Union['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs', 'SensitiveDataScannerRuleIncludedKeywordConfigurationArgsDict']] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + :param pulumi.Input[Union['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs', 'SensitiveDataScannerRuleIncludedKeywordConfigurationArgsDict']] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. :param pulumi.Input[bool] is_enabled: Whether or not the rule is enabled. :param pulumi.Input[str] name: Name of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] namespaces: Attributes included in the scan. If namespaces is empty or missing, all attributes except excluded_namespaces are scanned. If both are missing the whole event is scanned. @@ -556,7 +556,7 @@ def get(resource_name: str, :param pulumi.Input[str] description: Description of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] excluded_namespaces: Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array. :param pulumi.Input[str] group_id: Id of the scanning group the rule belongs to. - :param pulumi.Input[Union['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs', 'SensitiveDataScannerRuleIncludedKeywordConfigurationArgsDict']] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + :param pulumi.Input[Union['SensitiveDataScannerRuleIncludedKeywordConfigurationArgs', 'SensitiveDataScannerRuleIncludedKeywordConfigurationArgsDict']] included_keyword_configuration: Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. :param pulumi.Input[bool] is_enabled: Whether or not the rule is enabled. :param pulumi.Input[str] name: Name of the rule. :param pulumi.Input[Sequence[pulumi.Input[str]]] namespaces: Attributes included in the scan. If namespaces is empty or missing, all attributes except excluded_namespaces are scanned. If both are missing the whole event is scanned. @@ -612,7 +612,7 @@ def group_id(self) -> pulumi.Output[str]: @pulumi.getter(name="includedKeywordConfiguration") def included_keyword_configuration(self) -> pulumi.Output[Optional['outputs.SensitiveDataScannerRuleIncludedKeywordConfiguration']]: """ - Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. + Object defining a set of keywords and a number of characters that help reduce noise. You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. If any of the keywords are found within the proximity check then the match is kept. If none are found, the match is discarded. If the rule has the `standard_pattern_id` field, then discarding this field will apply the recommended keywords. Setting the `create_before_destroy` lifecycle Meta-argument to `true` is highly recommended if modifying this field to avoid unexpectedly disabling Sensitive Data Scanner groups. """ return pulumi.get(self, "included_keyword_configuration")