diff --git a/provider/cmd/pulumi-resource-dynatrace/schema.json b/provider/cmd/pulumi-resource-dynatrace/schema.json index a2f105b4..0c0e8a5b 100644 --- a/provider/cmd/pulumi-resource-dynatrace/schema.json +++ b/provider/cmd/pulumi-resource-dynatrace/schema.json @@ -8832,6 +8832,10 @@ "type": "string", "description": "The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE`\n" }, + "oneagentAttributeKey": { + "type": "string", + "description": "The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise.\n" + }, "requestAttribute": { "type": "string", "description": "The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise\n" @@ -12223,6 +12227,42 @@ "property" ] }, + "dynatrace:index/DefaultLaunchpadGroupLaunchpads:DefaultLaunchpadGroupLaunchpads": { + "properties": { + "groupLaunchpads": { + "type": "array", + "items": { + "$ref": "#/types/dynatrace:index/DefaultLaunchpadGroupLaunchpadsGroupLaunchpad:DefaultLaunchpadGroupLaunchpadsGroupLaunchpad" + } + } + }, + "type": "object", + "required": [ + "groupLaunchpads" + ] + }, + "dynatrace:index/DefaultLaunchpadGroupLaunchpadsGroupLaunchpad:DefaultLaunchpadGroupLaunchpadsGroupLaunchpad": { + "properties": { + "isEnabled": { + "type": "boolean", + "description": "State\n" + }, + "launchpadId": { + "type": "string", + "description": "Launchpad\n" + }, + "userGroupId": { + "type": "string", + "description": "User Group\n" + } + }, + "type": "object", + "required": [ + "isEnabled", + "launchpadId", + "userGroupId" + ] + }, "dynatrace:index/DirectSharesRecipients:DirectSharesRecipients": { "properties": { "recipients": { @@ -19210,7 +19250,8 @@ "properties": { "enabled": { "type": "boolean", - "description": "This setting is enabled (`true`) or disabled (`false`)\n" + "description": "This setting is enabled (`true`) or disabled (`false`)\n", + "deprecationMessage": "Attribute no longer exists in the schema." }, "source": { "type": "string", @@ -19227,7 +19268,6 @@ }, "type": "object", "required": [ - "enabled", "source", "target", "type" @@ -34419,6 +34459,10 @@ "type": "string", "description": "The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE`\n" }, + "oneagentAttributeKey": { + "type": "string", + "description": "The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise.\n" + }, "requestAttribute": { "type": "string", "description": "The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise\n" @@ -43017,6 +43061,70 @@ } } }, + "dynatrace:index/getGeoCitiesCity:getGeoCitiesCity": { + "properties": { + "latitude": { + "type": "number" + }, + "longitude": { + "type": "number" + }, + "name": { + "type": "string" + } + }, + "type": "object", + "required": [ + "latitude", + "longitude", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "dynatrace:index/getGeoCountriesCountry:getGeoCountriesCountry": { + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object", + "required": [ + "code", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "dynatrace:index/getGeoRegionsRegion:getGeoRegionsRegion": { + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object", + "required": [ + "code", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "dynatrace:index/getHubItemsItem:getHubItemsItem": { "properties": { "activationLink": { @@ -43808,7 +43916,7 @@ } }, "dynatrace:index/alertingProfile:AlertingProfile": { - "description": "!\u003e This resource API endpoint has been deprecated, please use dynatrace.Alerting instead.\n\n\u003e This resource requires the API token scopes **Read configuration** (`ReadConfig`) and **Write configuration** (`WriteConfig`)\n\n## Dynatrace Documentation\n\n- Alerting profiles - https://www.dynatrace.com/support/help/how-to-use-dynatrace/problem-detection-and-analysis/notifications-and-alerting/alerting-profiles\n\n- Alerting profiles API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/alerting-profiles-api\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst _name_ = new dynatrace.AlertingProfile(\"#name#\", {\n displayName: \"#name#\",\n mzId: \"\",\n rules: [\n {\n delayInMinutes: 0,\n severityLevel: \"AVAILABILITY\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentA\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"CUSTOM_ALERT\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentB\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"ERROR\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentC\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"MONITORING_UNAVAILABLE\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentD\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"PERFORMANCE\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentE\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"RESOURCE_CONTENTION\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentF\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_dynatrace as dynatrace\n\n_name_ = dynatrace.AlertingProfile(\"#name#\",\n display_name=\"#name#\",\n mz_id=\"\",\n rules=[\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"AVAILABILITY\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentA\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"CUSTOM_ALERT\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentB\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"ERROR\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentC\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"MONITORING_UNAVAILABLE\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentD\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"PERFORMANCE\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentE\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"RESOURCE_CONTENTION\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentF\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var _name_ = new Dynatrace.AlertingProfile(\"#name#\", new()\n {\n DisplayName = \"#name#\",\n MzId = \"\",\n Rules = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"AVAILABILITY\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentA\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"CUSTOM_ALERT\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentB\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"ERROR\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentC\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"MONITORING_UNAVAILABLE\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentD\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"PERFORMANCE\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentE\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"RESOURCE_CONTENTION\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentF\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.NewAlertingProfile(ctx, \"#name#\", \u0026dynatrace.AlertingProfileArgs{\n\t\t\tDisplayName: pulumi.String(\"#name#\"),\n\t\t\tMzId: pulumi.String(\"\"),\n\t\t\tRules: dynatrace.AlertingProfileRuleArray{\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"AVAILABILITY\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentA\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"CUSTOM_ALERT\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentB\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"ERROR\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentC\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"MONITORING_UNAVAILABLE\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentD\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"PERFORMANCE\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentE\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"RESOURCE_CONTENTION\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentF\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.AlertingProfile;\nimport com.pulumi.dynatrace.AlertingProfileArgs;\nimport com.pulumi.dynatrace.inputs.AlertingProfileRuleArgs;\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 _name_ = new AlertingProfile(\"#name#\", AlertingProfileArgs.builder()\n .displayName(\"#name#\")\n .mzId(\"\")\n .rules( \n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"AVAILABILITY\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentA\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"CUSTOM_ALERT\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentB\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"ERROR\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentC\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"MONITORING_UNAVAILABLE\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentD\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"PERFORMANCE\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentE\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"RESOURCE_CONTENTION\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentF\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:AlertingProfile\n properties:\n displayName: '#name#'\n mzId:\n rules:\n - delayInMinutes: 0\n severityLevel: AVAILABILITY\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentA\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: CUSTOM_ALERT\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentB\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: ERROR\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentC\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: MONITORING_UNAVAILABLE\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentD\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: PERFORMANCE\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentE\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: RESOURCE_CONTENTION\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentF\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "!\u003e This resource API endpoint has been deprecated, please use dynatrace.Alerting instead.\n\n\u003e This resource requires the API token scopes **Read configuration** (`ReadConfig`) and **Write configuration** (`WriteConfig`)\n\n## Dynatrace Documentation\n\n- Alerting profiles - https://www.dynatrace.com/support/help/how-to-use-dynatrace/problem-detection-and-analysis/notifications-and-alerting/alerting-profiles\n\n- Alerting profiles API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/alerting-profiles-api\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst _name_ = new dynatrace.AlertingProfile(\"#name#\", {\n displayName: \"#name#\",\n mzId: \"\",\n rules: [\n {\n delayInMinutes: 0,\n severityLevel: \"AVAILABILITY\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentA\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"CUSTOM_ALERT\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentB\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"ERROR\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentC\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"MONITORING_UNAVAILABLE\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentD\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"PERFORMANCE\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentE\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n {\n delayInMinutes: 0,\n severityLevel: \"RESOURCE_CONTENTION\",\n tagFilters: [{\n includeMode: \"INCLUDE_ALL\",\n tagFilters: [\n {\n context: \"CONTEXTLESS\",\n key: \"EnvironmentF\",\n value: \"production\",\n },\n {\n context: \"CONTEXTLESS\",\n key: \"Team\",\n value: \"test\",\n },\n ],\n }],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_dynatrace as dynatrace\n\n_name_ = dynatrace.AlertingProfile(\"#name#\",\n display_name=\"#name#\",\n mz_id=\"\",\n rules=[\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"AVAILABILITY\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentA\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"CUSTOM_ALERT\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentB\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"ERROR\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentC\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"MONITORING_UNAVAILABLE\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentD\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"PERFORMANCE\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentE\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n {\n \"delay_in_minutes\": 0,\n \"severity_level\": \"RESOURCE_CONTENTION\",\n \"tag_filters\": [{\n \"include_mode\": \"INCLUDE_ALL\",\n \"tag_filters\": [\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"EnvironmentF\",\n \"value\": \"production\",\n },\n {\n \"context\": \"CONTEXTLESS\",\n \"key\": \"Team\",\n \"value\": \"test\",\n },\n ],\n }],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var _name_ = new Dynatrace.AlertingProfile(\"#name#\", new()\n {\n DisplayName = \"#name#\",\n MzId = \"\",\n Rules = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"AVAILABILITY\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentA\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"CUSTOM_ALERT\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentB\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"ERROR\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentC\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"MONITORING_UNAVAILABLE\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentD\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"PERFORMANCE\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentE\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AlertingProfileRuleArgs\n {\n DelayInMinutes = 0,\n SeverityLevel = \"RESOURCE_CONTENTION\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterArgs\n {\n IncludeMode = \"INCLUDE_ALL\",\n TagFilters = new[]\n {\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"EnvironmentF\",\n Value = \"production\",\n },\n new Dynatrace.Inputs.AlertingProfileRuleTagFilterTagFilterArgs\n {\n Context = \"CONTEXTLESS\",\n Key = \"Team\",\n Value = \"test\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.NewAlertingProfile(ctx, \"#name#\", \u0026dynatrace.AlertingProfileArgs{\n\t\t\tDisplayName: pulumi.String(\"#name#\"),\n\t\t\tMzId: pulumi.String(\"\"),\n\t\t\tRules: dynatrace.AlertingProfileRuleArray{\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"AVAILABILITY\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentA\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"CUSTOM_ALERT\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentB\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"ERROR\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentC\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"MONITORING_UNAVAILABLE\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentD\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"PERFORMANCE\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentE\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dynatrace.AlertingProfileRuleArgs{\n\t\t\t\t\tDelayInMinutes: pulumi.Int(0),\n\t\t\t\t\tSeverityLevel: pulumi.String(\"RESOURCE_CONTENTION\"),\n\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterArray{\n\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterArgs{\n\t\t\t\t\t\t\tIncludeMode: pulumi.String(\"INCLUDE_ALL\"),\n\t\t\t\t\t\t\tTagFilters: dynatrace.AlertingProfileRuleTagFilterTagFilterArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"EnvironmentF\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026dynatrace.AlertingProfileRuleTagFilterTagFilterArgs{\n\t\t\t\t\t\t\t\t\tContext: pulumi.String(\"CONTEXTLESS\"),\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"Team\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.AlertingProfile;\nimport com.pulumi.dynatrace.AlertingProfileArgs;\nimport com.pulumi.dynatrace.inputs.AlertingProfileRuleArgs;\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 _name_ = new AlertingProfile(\"#name#\", AlertingProfileArgs.builder()\n .displayName(\"#name#\")\n .mzId(\"\")\n .rules( \n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"AVAILABILITY\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentA\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"CUSTOM_ALERT\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentB\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"ERROR\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentC\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"MONITORING_UNAVAILABLE\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentD\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"PERFORMANCE\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentE\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build(),\n AlertingProfileRuleArgs.builder()\n .delayInMinutes(0)\n .severityLevel(\"RESOURCE_CONTENTION\")\n .tagFilters(AlertingProfileRuleTagFilterArgs.builder()\n .includeMode(\"INCLUDE_ALL\")\n .tagFilters( \n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"EnvironmentF\")\n .value(\"production\")\n .build(),\n AlertingProfileRuleTagFilterTagFilterArgs.builder()\n .context(\"CONTEXTLESS\")\n .key(\"Team\")\n .value(\"test\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:AlertingProfile\n properties:\n displayName: '#name#'\n mzId: \"\"\n rules:\n - delayInMinutes: 0\n severityLevel: AVAILABILITY\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentA\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: CUSTOM_ALERT\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentB\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: ERROR\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentC\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: MONITORING_UNAVAILABLE\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentD\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: PERFORMANCE\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentE\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n - delayInMinutes: 0\n severityLevel: RESOURCE_CONTENTION\n tagFilters:\n - includeMode: INCLUDE_ALL\n tagFilters:\n - context: CONTEXTLESS\n key: EnvironmentF\n value: production\n - context: CONTEXTLESS\n key: Team\n value: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "displayName": { "type": "string", @@ -45565,6 +45673,78 @@ "type": "object" } }, + "dynatrace:index/automationControllerConnections:AutomationControllerConnections": { + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name.\n" + }, + "token": { + "type": "string", + "description": "API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `Api_token`\n" + }, + "url": { + "type": "string", + "description": "URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/\n" + } + }, + "required": [ + "name", + "type", + "url" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name.\n" + }, + "token": { + "type": "string", + "description": "API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `Api_token`\n" + }, + "url": { + "type": "string", + "description": "URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/\n" + } + }, + "requiredInputs": [ + "type", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AutomationControllerConnections resources.\n", + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name.\n" + }, + "token": { + "type": "string", + "description": "API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `Api_token`\n" + }, + "url": { + "type": "string", + "description": "URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/\n" + } + }, + "type": "object" + } + }, "dynatrace:index/automationSchedulingRule:AutomationSchedulingRule": { "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **View rules** (`automation:rules:read`) and **Create and edit rules** (`automation:rules:write`).\n\n\u003e This resource is excluded by default in the export utility, please explicitly specify the resource to retrieve existing configuration.\n\n## Dynatrace Documentation\n\n- Dynatrace Workflows - https://www.dynatrace.com/support/help/platform-modules/cloud-automation/workflows\n\n## Resource Examples\n\n### Recurrence Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst calendar = new dynatrace.AutomationBusinessCalendar(\"calendar\", {\n description: \"#name#\",\n title: \"#name#\",\n validFrom: \"2023-07-31\",\n validTo: \"2033-07-31\",\n weekDays: [\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n weekStart: 1,\n holidays: {\n holidays: [\n {\n date: \"2023-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2023-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2023-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2023-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2023-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2023-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2024-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2024-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2024-04-01\",\n title: \"Ostermontag\",\n },\n {\n date: \"2024-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2024-05-09\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2024-05-20\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2024-05-30\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2024-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2024-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2024-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2024-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2024-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2024-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2025-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2025-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2025-04-21\",\n title: \"Ostermontag\",\n },\n {\n date: \"2025-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2025-05-29\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2025-06-09\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2025-06-19\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2025-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2025-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2025-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2025-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2025-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2025-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2026-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2026-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2026-04-06\",\n title: \"Ostermontag\",\n },\n {\n date: \"2026-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2026-05-14\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2026-05-25\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2026-06-04\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2026-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2026-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2026-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2026-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2026-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2026-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2027-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2027-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2027-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2027-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2027-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2027-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2027-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2027-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2027-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2027-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2027-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2027-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2027-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2028-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2028-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2028-04-17\",\n title: \"Ostermontag\",\n },\n {\n date: \"2028-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2028-05-25\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2028-06-05\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2028-06-15\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2028-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2028-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2028-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2028-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2028-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2028-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2029-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2029-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2029-04-02\",\n title: \"Ostermontag\",\n },\n {\n date: \"2029-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2029-05-10\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2029-05-21\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2029-05-31\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2029-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2029-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2029-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2029-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2029-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2029-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2030-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2030-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2030-04-22\",\n title: \"Ostermontag\",\n },\n {\n date: \"2030-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2030-05-30\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2030-06-10\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2030-06-20\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2030-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2030-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2030-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2030-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2030-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2030-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2031-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2031-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2031-04-14\",\n title: \"Ostermontag\",\n },\n {\n date: \"2031-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2031-05-22\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2031-06-02\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2031-06-12\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2031-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2031-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2031-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2031-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2031-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2031-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2032-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2032-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2032-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2032-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2032-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2032-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2032-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2032-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2032-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2032-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2032-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2032-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2032-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2033-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2033-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2033-04-18\",\n title: \"Ostermontag\",\n },\n {\n date: \"2033-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2033-05-26\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2033-06-06\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2033-06-16\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2023-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2024-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2025-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2026-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2027-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2028-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2029-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2030-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2031-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2032-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2033-07-31\",\n title: \"Reini Day\",\n },\n ],\n },\n});\nconst _name_ = new dynatrace.AutomationSchedulingRule(\"#name#\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n daysInMonths: [-1],\n daysInYears: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n frequency: \"WEEKLY\",\n interval: 33,\n months: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n weekdays: [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n weeks: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n workdays: \"WORKING\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_dynatrace as dynatrace\n\ncalendar = dynatrace.AutomationBusinessCalendar(\"calendar\",\n description=\"#name#\",\n title=\"#name#\",\n valid_from=\"2023-07-31\",\n valid_to=\"2033-07-31\",\n week_days=[\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n week_start=1,\n holidays={\n \"holidays\": [\n {\n \"date\": \"2023-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2023-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2023-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2023-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2023-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2023-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2024-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2024-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2024-04-01\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2024-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2024-05-09\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2024-05-20\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2024-05-30\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2024-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2024-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2024-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2024-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2024-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2024-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2025-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2025-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2025-04-21\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2025-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2025-05-29\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2025-06-09\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2025-06-19\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2025-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2025-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2025-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2025-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2025-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2025-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2026-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2026-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2026-04-06\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2026-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2026-05-14\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2026-05-25\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2026-06-04\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2026-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2026-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2026-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2026-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2026-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2026-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2027-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2027-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2027-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2027-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2027-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2027-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2027-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2027-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2027-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2027-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2027-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2027-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2027-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2028-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2028-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2028-04-17\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2028-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2028-05-25\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2028-06-05\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2028-06-15\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2028-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2028-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2028-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2028-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2028-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2028-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2029-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2029-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2029-04-02\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2029-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2029-05-10\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2029-05-21\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2029-05-31\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2029-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2029-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2029-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2029-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2029-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2029-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2030-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2030-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2030-04-22\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2030-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2030-05-30\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2030-06-10\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2030-06-20\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2030-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2030-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2030-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2030-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2030-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2030-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2031-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2031-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2031-04-14\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2031-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2031-05-22\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2031-06-02\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2031-06-12\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2031-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2031-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2031-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2031-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2031-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2031-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2032-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2032-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2032-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2032-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2032-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2032-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2032-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2032-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2032-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2032-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2032-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2032-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2032-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2033-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2033-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2033-04-18\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2033-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2033-05-26\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2033-06-06\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2033-06-16\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2023-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2024-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2025-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2026-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2027-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2028-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2029-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2030-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2031-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2032-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2033-07-31\",\n \"title\": \"Reini Day\",\n },\n ],\n })\n_name_ = dynatrace.AutomationSchedulingRule(\"#name#\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"days_in_months\": [-1],\n \"days_in_years\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"frequency\": \"WEEKLY\",\n \"interval\": 33,\n \"months\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n \"weekdays\": [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n \"weeks\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"workdays\": \"WORKING\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var calendar = new Dynatrace.AutomationBusinessCalendar(\"calendar\", new()\n {\n Description = \"#name#\",\n Title = \"#name#\",\n ValidFrom = \"2023-07-31\",\n ValidTo = \"2033-07-31\",\n WeekDays = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n },\n WeekStart = 1,\n Holidays = new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysArgs\n {\n Holidays = new[]\n {\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-04-01\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-09\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-20\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-30\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-04-21\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-29\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-09\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-19\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-04-06\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-14\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-25\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-06-04\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-04-17\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-25\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-05\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-15\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-04-02\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-10\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-21\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-31\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-04-22\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-30\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-10\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-20\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-04-14\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-22\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-02\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-12\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-04-18\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-26\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-06\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-16\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-07-31\",\n Title = \"Reini Day\",\n },\n },\n },\n });\n\n var _name_ = new Dynatrace.AutomationSchedulingRule(\"#name#\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n DaysInMonths = new[]\n {\n -1,\n },\n DaysInYears = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Frequency = \"WEEKLY\",\n Interval = 33,\n Months = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n },\n Weekdays = new[]\n {\n \"MO\",\n \"TU\",\n \"WE\",\n },\n Weeks = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Workdays = \"WORKING\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcalendar, err := dynatrace.NewAutomationBusinessCalendar(ctx, \"calendar\", \u0026dynatrace.AutomationBusinessCalendarArgs{\n\t\t\tDescription: pulumi.String(\"#name#\"),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tValidFrom: pulumi.String(\"2023-07-31\"),\n\t\t\tValidTo: pulumi.String(\"2033-07-31\"),\n\t\t\tWeekDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tWeekStart: pulumi.Int(1),\n\t\t\tHolidays: \u0026dynatrace.AutomationBusinessCalendarHolidaysArgs{\n\t\t\t\tHolidays: dynatrace.AutomationBusinessCalendarHolidaysHolidayArray{\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-04-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-04-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-19\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-04-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-06-04\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-04-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-05\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-04-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-04-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-04-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-12\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-04-18\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-16\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewAutomationSchedulingRule(ctx, \"#name#\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tDaysInMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t},\n\t\t\t\tDaysInYears: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tFrequency: pulumi.String(\"WEEKLY\"),\n\t\t\t\tInterval: pulumi.Int(33),\n\t\t\t\tMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t\tpulumi.Int(4),\n\t\t\t\t\tpulumi.Int(5),\n\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\tpulumi.Int(7),\n\t\t\t\t\tpulumi.Int(8),\n\t\t\t\t\tpulumi.Int(9),\n\t\t\t\t\tpulumi.Int(10),\n\t\t\t\t\tpulumi.Int(11),\n\t\t\t\t\tpulumi.Int(12),\n\t\t\t\t},\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"MO\"),\n\t\t\t\t\tpulumi.String(\"TU\"),\n\t\t\t\t\tpulumi.String(\"WE\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\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.dynatrace.AutomationBusinessCalendar;\nimport com.pulumi.dynatrace.AutomationBusinessCalendarArgs;\nimport com.pulumi.dynatrace.inputs.AutomationBusinessCalendarHolidaysArgs;\nimport com.pulumi.dynatrace.AutomationSchedulingRule;\nimport com.pulumi.dynatrace.AutomationSchedulingRuleArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleRecurrenceArgs;\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 calendar = new AutomationBusinessCalendar(\"calendar\", AutomationBusinessCalendarArgs.builder()\n .description(\"#name#\")\n .title(\"#name#\")\n .validFrom(\"2023-07-31\")\n .validTo(\"2033-07-31\")\n .weekDays( \n 1,\n 2,\n 3,\n 4,\n 5)\n .weekStart(1)\n .holidays(AutomationBusinessCalendarHolidaysArgs.builder()\n .holidays( \n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-04-01\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-09\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-20\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-30\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-04-21\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-29\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-09\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-19\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-04-06\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-14\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-25\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-06-04\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-04-17\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-25\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-05\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-15\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-04-02\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-10\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-21\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-31\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-04-22\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-30\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-10\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-20\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-04-14\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-22\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-02\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-12\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-04-18\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-26\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-06\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-16\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-07-31\")\n .title(\"Reini Day\")\n .build())\n .build())\n .build());\n\n var _name_ = new AutomationSchedulingRule(\"#name#\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .daysInMonths(-1)\n .daysInYears( \n -2,\n -1,\n 1,\n 2,\n 3)\n .frequency(\"WEEKLY\")\n .interval(33)\n .months( \n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12)\n .weekdays( \n \"MO\",\n \"TU\",\n \"WE\")\n .weeks( \n -2,\n -1,\n 1,\n 2,\n 3)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n calendar:\n type: dynatrace:AutomationBusinessCalendar\n properties:\n description: '#name#'\n title: '#name#'\n validFrom: 2023-07-31\n validTo: 2033-07-31\n weekDays:\n - 1\n - 2\n - 3\n - 4\n - 5\n weekStart: 1\n holidays:\n holidays:\n - date: 2023-08-15\n title: Mariä Himmelfahrt\n - date: 2023-10-26\n title: Nationalfeiertag\n - date: 2023-11-01\n title: Allerheiligen\n - date: 2023-12-08\n title: Mariä Empfängnis\n - date: 2023-12-25\n title: Christtag\n - date: 2023-12-26\n title: Stefanitag\n - date: 2024-01-01\n title: Neujahr\n - date: 2024-01-06\n title: Heilige Drei Könige\n - date: 2024-04-01\n title: Ostermontag\n - date: 2024-05-01\n title: Staatsfeiertag\n - date: 2024-05-09\n title: Christi Himmelfahrt\n - date: 2024-05-20\n title: Pfingstmontag\n - date: 2024-05-30\n title: Fronleichnam\n - date: 2024-08-15\n title: Mariä Himmelfahrt\n - date: 2024-10-26\n title: Nationalfeiertag\n - date: 2024-11-01\n title: Allerheiligen\n - date: 2024-12-08\n title: Mariä Empfängnis\n - date: 2024-12-25\n title: Christtag\n - date: 2024-12-26\n title: Stefanitag\n - date: 2025-01-01\n title: Neujahr\n - date: 2025-01-06\n title: Heilige Drei Könige\n - date: 2025-04-21\n title: Ostermontag\n - date: 2025-05-01\n title: Staatsfeiertag\n - date: 2025-05-29\n title: Christi Himmelfahrt\n - date: 2025-06-09\n title: Pfingstmontag\n - date: 2025-06-19\n title: Fronleichnam\n - date: 2025-08-15\n title: Mariä Himmelfahrt\n - date: 2025-10-26\n title: Nationalfeiertag\n - date: 2025-11-01\n title: Allerheiligen\n - date: 2025-12-08\n title: Mariä Empfängnis\n - date: 2025-12-25\n title: Christtag\n - date: 2025-12-26\n title: Stefanitag\n - date: 2026-01-01\n title: Neujahr\n - date: 2026-01-06\n title: Heilige Drei Könige\n - date: 2026-04-06\n title: Ostermontag\n - date: 2026-05-01\n title: Staatsfeiertag\n - date: 2026-05-14\n title: Christi Himmelfahrt\n - date: 2026-05-25\n title: Pfingstmontag\n - date: 2026-06-04\n title: Fronleichnam\n - date: 2026-08-15\n title: Mariä Himmelfahrt\n - date: 2026-10-26\n title: Nationalfeiertag\n - date: 2026-11-01\n title: Allerheiligen\n - date: 2026-12-08\n title: Mariä Empfängnis\n - date: 2026-12-25\n title: Christtag\n - date: 2026-12-26\n title: Stefanitag\n - date: 2027-01-01\n title: Neujahr\n - date: 2027-01-06\n title: Heilige Drei Könige\n - date: 2027-03-29\n title: Ostermontag\n - date: 2027-05-01\n title: Staatsfeiertag\n - date: 2027-05-06\n title: Christi Himmelfahrt\n - date: 2027-05-17\n title: Pfingstmontag\n - date: 2027-05-27\n title: Fronleichnam\n - date: 2027-08-15\n title: Mariä Himmelfahrt\n - date: 2027-10-26\n title: Nationalfeiertag\n - date: 2027-11-01\n title: Allerheiligen\n - date: 2027-12-08\n title: Mariä Empfängnis\n - date: 2027-12-25\n title: Christtag\n - date: 2027-12-26\n title: Stefanitag\n - date: 2028-01-01\n title: Neujahr\n - date: 2028-01-06\n title: Heilige Drei Könige\n - date: 2028-04-17\n title: Ostermontag\n - date: 2028-05-01\n title: Staatsfeiertag\n - date: 2028-05-25\n title: Christi Himmelfahrt\n - date: 2028-06-05\n title: Pfingstmontag\n - date: 2028-06-15\n title: Fronleichnam\n - date: 2028-08-15\n title: Mariä Himmelfahrt\n - date: 2028-10-26\n title: Nationalfeiertag\n - date: 2028-11-01\n title: Allerheiligen\n - date: 2028-12-08\n title: Mariä Empfängnis\n - date: 2028-12-25\n title: Christtag\n - date: 2028-12-26\n title: Stefanitag\n - date: 2029-01-01\n title: Neujahr\n - date: 2029-01-06\n title: Heilige Drei Könige\n - date: 2029-04-02\n title: Ostermontag\n - date: 2029-05-01\n title: Staatsfeiertag\n - date: 2029-05-10\n title: Christi Himmelfahrt\n - date: 2029-05-21\n title: Pfingstmontag\n - date: 2029-05-31\n title: Fronleichnam\n - date: 2029-08-15\n title: Mariä Himmelfahrt\n - date: 2029-10-26\n title: Nationalfeiertag\n - date: 2029-11-01\n title: Allerheiligen\n - date: 2029-12-08\n title: Mariä Empfängnis\n - date: 2029-12-25\n title: Christtag\n - date: 2029-12-26\n title: Stefanitag\n - date: 2030-01-01\n title: Neujahr\n - date: 2030-01-06\n title: Heilige Drei Könige\n - date: 2030-04-22\n title: Ostermontag\n - date: 2030-05-01\n title: Staatsfeiertag\n - date: 2030-05-30\n title: Christi Himmelfahrt\n - date: 2030-06-10\n title: Pfingstmontag\n - date: 2030-06-20\n title: Fronleichnam\n - date: 2030-08-15\n title: Mariä Himmelfahrt\n - date: 2030-10-26\n title: Nationalfeiertag\n - date: 2030-11-01\n title: Allerheiligen\n - date: 2030-12-08\n title: Mariä Empfängnis\n - date: 2030-12-25\n title: Christtag\n - date: 2030-12-26\n title: Stefanitag\n - date: 2031-01-01\n title: Neujahr\n - date: 2031-01-06\n title: Heilige Drei Könige\n - date: 2031-04-14\n title: Ostermontag\n - date: 2031-05-01\n title: Staatsfeiertag\n - date: 2031-05-22\n title: Christi Himmelfahrt\n - date: 2031-06-02\n title: Pfingstmontag\n - date: 2031-06-12\n title: Fronleichnam\n - date: 2031-08-15\n title: Mariä Himmelfahrt\n - date: 2031-10-26\n title: Nationalfeiertag\n - date: 2031-11-01\n title: Allerheiligen\n - date: 2031-12-08\n title: Mariä Empfängnis\n - date: 2031-12-25\n title: Christtag\n - date: 2031-12-26\n title: Stefanitag\n - date: 2032-01-01\n title: Neujahr\n - date: 2032-01-06\n title: Heilige Drei Könige\n - date: 2032-03-29\n title: Ostermontag\n - date: 2032-05-01\n title: Staatsfeiertag\n - date: 2032-05-06\n title: Christi Himmelfahrt\n - date: 2032-05-17\n title: Pfingstmontag\n - date: 2032-05-27\n title: Fronleichnam\n - date: 2032-08-15\n title: Mariä Himmelfahrt\n - date: 2032-10-26\n title: Nationalfeiertag\n - date: 2032-11-01\n title: Allerheiligen\n - date: 2032-12-08\n title: Mariä Empfängnis\n - date: 2032-12-25\n title: Christtag\n - date: 2032-12-26\n title: Stefanitag\n - date: 2033-01-01\n title: Neujahr\n - date: 2033-01-06\n title: Heilige Drei Könige\n - date: 2033-04-18\n title: Ostermontag\n - date: 2033-05-01\n title: Staatsfeiertag\n - date: 2033-05-26\n title: Christi Himmelfahrt\n - date: 2033-06-06\n title: Pfingstmontag\n - date: 2033-06-16\n title: Fronleichnam\n - date: 2023-07-31\n title: Reini Day\n - date: 2024-07-31\n title: Reini Day\n - date: 2025-07-31\n title: Reini Day\n - date: 2026-07-31\n title: Reini Day\n - date: 2027-07-31\n title: Reini Day\n - date: 2028-07-31\n title: Reini Day\n - date: 2029-07-31\n title: Reini Day\n - date: 2030-07-31\n title: Reini Day\n - date: 2031-07-31\n title: Reini Day\n - date: 2032-07-31\n title: Reini Day\n - date: 2033-07-31\n title: Reini Day\n '#name#':\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n daysInMonths:\n - -1\n daysInYears:\n - -2\n - -1\n - 1\n - 2\n - 3\n frequency: WEEKLY\n interval: 33\n months:\n - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n weekdays:\n - MO\n - TU\n - WE\n weeks:\n - -2\n - -1\n - 1\n - 2\n - 3\n workdays: WORKING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Fixed Offset Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst calendar = new dynatrace.AutomationBusinessCalendar(\"calendar\", {\n description: \"#name#\",\n title: \"#name#\",\n validFrom: \"2023-07-31\",\n validTo: \"2033-07-31\",\n weekDays: [\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n weekStart: 1,\n holidays: {\n holidays: [\n {\n date: \"2023-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2023-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2023-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2023-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2023-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2023-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2024-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2024-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2024-04-01\",\n title: \"Ostermontag\",\n },\n {\n date: \"2024-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2024-05-09\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2024-05-20\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2024-05-30\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2024-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2024-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2024-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2024-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2024-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2024-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2025-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2025-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2025-04-21\",\n title: \"Ostermontag\",\n },\n {\n date: \"2025-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2025-05-29\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2025-06-09\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2025-06-19\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2025-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2025-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2025-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2025-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2025-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2025-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2026-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2026-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2026-04-06\",\n title: \"Ostermontag\",\n },\n {\n date: \"2026-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2026-05-14\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2026-05-25\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2026-06-04\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2026-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2026-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2026-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2026-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2026-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2026-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2027-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2027-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2027-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2027-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2027-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2027-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2027-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2027-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2027-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2027-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2027-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2027-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2027-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2028-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2028-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2028-04-17\",\n title: \"Ostermontag\",\n },\n {\n date: \"2028-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2028-05-25\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2028-06-05\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2028-06-15\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2028-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2028-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2028-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2028-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2028-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2028-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2029-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2029-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2029-04-02\",\n title: \"Ostermontag\",\n },\n {\n date: \"2029-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2029-05-10\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2029-05-21\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2029-05-31\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2029-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2029-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2029-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2029-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2029-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2029-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2030-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2030-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2030-04-22\",\n title: \"Ostermontag\",\n },\n {\n date: \"2030-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2030-05-30\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2030-06-10\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2030-06-20\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2030-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2030-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2030-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2030-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2030-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2030-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2031-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2031-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2031-04-14\",\n title: \"Ostermontag\",\n },\n {\n date: \"2031-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2031-05-22\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2031-06-02\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2031-06-12\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2031-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2031-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2031-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2031-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2031-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2031-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2032-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2032-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2032-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2032-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2032-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2032-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2032-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2032-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2032-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2032-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2032-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2032-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2032-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2033-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2033-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2033-04-18\",\n title: \"Ostermontag\",\n },\n {\n date: \"2033-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2033-05-26\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2033-06-06\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2033-06-16\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2023-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2024-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2025-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2026-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2027-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2028-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2029-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2030-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2031-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2032-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2033-07-31\",\n title: \"Reini Day\",\n },\n ],\n },\n});\nconst base = new dynatrace.AutomationSchedulingRule(\"base\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n daysInMonths: [-1],\n daysInYears: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n frequency: \"WEEKLY\",\n interval: 33,\n months: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n weekdays: [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n weeks: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n workdays: \"WORKING\",\n },\n});\nconst _name_ = new dynatrace.AutomationSchedulingRule(\"#name#\", {\n title: \"#name#\",\n fixedOffset: {\n offset: 50,\n rule: base.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_dynatrace as dynatrace\n\ncalendar = dynatrace.AutomationBusinessCalendar(\"calendar\",\n description=\"#name#\",\n title=\"#name#\",\n valid_from=\"2023-07-31\",\n valid_to=\"2033-07-31\",\n week_days=[\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n week_start=1,\n holidays={\n \"holidays\": [\n {\n \"date\": \"2023-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2023-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2023-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2023-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2023-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2023-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2024-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2024-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2024-04-01\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2024-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2024-05-09\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2024-05-20\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2024-05-30\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2024-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2024-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2024-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2024-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2024-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2024-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2025-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2025-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2025-04-21\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2025-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2025-05-29\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2025-06-09\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2025-06-19\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2025-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2025-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2025-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2025-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2025-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2025-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2026-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2026-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2026-04-06\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2026-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2026-05-14\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2026-05-25\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2026-06-04\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2026-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2026-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2026-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2026-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2026-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2026-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2027-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2027-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2027-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2027-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2027-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2027-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2027-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2027-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2027-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2027-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2027-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2027-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2027-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2028-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2028-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2028-04-17\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2028-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2028-05-25\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2028-06-05\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2028-06-15\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2028-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2028-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2028-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2028-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2028-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2028-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2029-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2029-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2029-04-02\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2029-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2029-05-10\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2029-05-21\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2029-05-31\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2029-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2029-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2029-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2029-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2029-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2029-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2030-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2030-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2030-04-22\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2030-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2030-05-30\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2030-06-10\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2030-06-20\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2030-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2030-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2030-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2030-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2030-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2030-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2031-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2031-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2031-04-14\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2031-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2031-05-22\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2031-06-02\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2031-06-12\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2031-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2031-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2031-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2031-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2031-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2031-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2032-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2032-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2032-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2032-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2032-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2032-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2032-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2032-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2032-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2032-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2032-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2032-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2032-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2033-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2033-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2033-04-18\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2033-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2033-05-26\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2033-06-06\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2033-06-16\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2023-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2024-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2025-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2026-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2027-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2028-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2029-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2030-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2031-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2032-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2033-07-31\",\n \"title\": \"Reini Day\",\n },\n ],\n })\nbase = dynatrace.AutomationSchedulingRule(\"base\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"days_in_months\": [-1],\n \"days_in_years\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"frequency\": \"WEEKLY\",\n \"interval\": 33,\n \"months\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n \"weekdays\": [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n \"weeks\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"workdays\": \"WORKING\",\n })\n_name_ = dynatrace.AutomationSchedulingRule(\"#name#\",\n title=\"#name#\",\n fixed_offset={\n \"offset\": 50,\n \"rule\": base.id,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var calendar = new Dynatrace.AutomationBusinessCalendar(\"calendar\", new()\n {\n Description = \"#name#\",\n Title = \"#name#\",\n ValidFrom = \"2023-07-31\",\n ValidTo = \"2033-07-31\",\n WeekDays = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n },\n WeekStart = 1,\n Holidays = new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysArgs\n {\n Holidays = new[]\n {\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-04-01\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-09\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-20\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-30\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-04-21\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-29\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-09\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-19\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-04-06\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-14\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-25\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-06-04\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-04-17\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-25\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-05\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-15\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-04-02\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-10\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-21\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-31\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-04-22\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-30\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-10\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-20\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-04-14\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-22\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-02\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-12\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-04-18\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-26\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-06\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-16\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-07-31\",\n Title = \"Reini Day\",\n },\n },\n },\n });\n\n var @base = new Dynatrace.AutomationSchedulingRule(\"base\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n DaysInMonths = new[]\n {\n -1,\n },\n DaysInYears = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Frequency = \"WEEKLY\",\n Interval = 33,\n Months = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n },\n Weekdays = new[]\n {\n \"MO\",\n \"TU\",\n \"WE\",\n },\n Weeks = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Workdays = \"WORKING\",\n },\n });\n\n var _name_ = new Dynatrace.AutomationSchedulingRule(\"#name#\", new()\n {\n Title = \"#name#\",\n FixedOffset = new Dynatrace.Inputs.AutomationSchedulingRuleFixedOffsetArgs\n {\n Offset = 50,\n Rule = @base.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcalendar, err := dynatrace.NewAutomationBusinessCalendar(ctx, \"calendar\", \u0026dynatrace.AutomationBusinessCalendarArgs{\n\t\t\tDescription: pulumi.String(\"#name#\"),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tValidFrom: pulumi.String(\"2023-07-31\"),\n\t\t\tValidTo: pulumi.String(\"2033-07-31\"),\n\t\t\tWeekDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tWeekStart: pulumi.Int(1),\n\t\t\tHolidays: \u0026dynatrace.AutomationBusinessCalendarHolidaysArgs{\n\t\t\t\tHolidays: dynatrace.AutomationBusinessCalendarHolidaysHolidayArray{\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-04-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-04-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-19\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-04-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-06-04\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-04-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-05\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-04-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-04-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-04-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-12\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-04-18\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-16\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\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\tbase, err := dynatrace.NewAutomationSchedulingRule(ctx, \"base\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tDaysInMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t},\n\t\t\t\tDaysInYears: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tFrequency: pulumi.String(\"WEEKLY\"),\n\t\t\t\tInterval: pulumi.Int(33),\n\t\t\t\tMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t\tpulumi.Int(4),\n\t\t\t\t\tpulumi.Int(5),\n\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\tpulumi.Int(7),\n\t\t\t\t\tpulumi.Int(8),\n\t\t\t\t\tpulumi.Int(9),\n\t\t\t\t\tpulumi.Int(10),\n\t\t\t\t\tpulumi.Int(11),\n\t\t\t\t\tpulumi.Int(12),\n\t\t\t\t},\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"MO\"),\n\t\t\t\t\tpulumi.String(\"TU\"),\n\t\t\t\t\tpulumi.String(\"WE\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewAutomationSchedulingRule(ctx, \"#name#\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tFixedOffset: \u0026dynatrace.AutomationSchedulingRuleFixedOffsetArgs{\n\t\t\t\tOffset: pulumi.Int(50),\n\t\t\t\tRule: base.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dynatrace.AutomationBusinessCalendar;\nimport com.pulumi.dynatrace.AutomationBusinessCalendarArgs;\nimport com.pulumi.dynatrace.inputs.AutomationBusinessCalendarHolidaysArgs;\nimport com.pulumi.dynatrace.AutomationSchedulingRule;\nimport com.pulumi.dynatrace.AutomationSchedulingRuleArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleRecurrenceArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleFixedOffsetArgs;\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 calendar = new AutomationBusinessCalendar(\"calendar\", AutomationBusinessCalendarArgs.builder()\n .description(\"#name#\")\n .title(\"#name#\")\n .validFrom(\"2023-07-31\")\n .validTo(\"2033-07-31\")\n .weekDays( \n 1,\n 2,\n 3,\n 4,\n 5)\n .weekStart(1)\n .holidays(AutomationBusinessCalendarHolidaysArgs.builder()\n .holidays( \n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-04-01\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-09\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-20\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-30\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-04-21\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-29\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-09\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-19\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-04-06\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-14\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-25\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-06-04\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-04-17\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-25\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-05\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-15\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-04-02\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-10\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-21\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-31\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-04-22\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-30\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-10\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-20\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-04-14\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-22\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-02\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-12\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-04-18\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-26\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-06\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-16\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-07-31\")\n .title(\"Reini Day\")\n .build())\n .build())\n .build());\n\n var base = new AutomationSchedulingRule(\"base\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .daysInMonths(-1)\n .daysInYears( \n -2,\n -1,\n 1,\n 2,\n 3)\n .frequency(\"WEEKLY\")\n .interval(33)\n .months( \n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12)\n .weekdays( \n \"MO\",\n \"TU\",\n \"WE\")\n .weeks( \n -2,\n -1,\n 1,\n 2,\n 3)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var _name_ = new AutomationSchedulingRule(\"#name#\", AutomationSchedulingRuleArgs.builder()\n .title(\"#name#\")\n .fixedOffset(AutomationSchedulingRuleFixedOffsetArgs.builder()\n .offset(50)\n .rule(base.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n calendar:\n type: dynatrace:AutomationBusinessCalendar\n properties:\n description: '#name#'\n title: '#name#'\n validFrom: 2023-07-31\n validTo: 2033-07-31\n weekDays:\n - 1\n - 2\n - 3\n - 4\n - 5\n weekStart: 1\n holidays:\n holidays:\n - date: 2023-08-15\n title: Mariä Himmelfahrt\n - date: 2023-10-26\n title: Nationalfeiertag\n - date: 2023-11-01\n title: Allerheiligen\n - date: 2023-12-08\n title: Mariä Empfängnis\n - date: 2023-12-25\n title: Christtag\n - date: 2023-12-26\n title: Stefanitag\n - date: 2024-01-01\n title: Neujahr\n - date: 2024-01-06\n title: Heilige Drei Könige\n - date: 2024-04-01\n title: Ostermontag\n - date: 2024-05-01\n title: Staatsfeiertag\n - date: 2024-05-09\n title: Christi Himmelfahrt\n - date: 2024-05-20\n title: Pfingstmontag\n - date: 2024-05-30\n title: Fronleichnam\n - date: 2024-08-15\n title: Mariä Himmelfahrt\n - date: 2024-10-26\n title: Nationalfeiertag\n - date: 2024-11-01\n title: Allerheiligen\n - date: 2024-12-08\n title: Mariä Empfängnis\n - date: 2024-12-25\n title: Christtag\n - date: 2024-12-26\n title: Stefanitag\n - date: 2025-01-01\n title: Neujahr\n - date: 2025-01-06\n title: Heilige Drei Könige\n - date: 2025-04-21\n title: Ostermontag\n - date: 2025-05-01\n title: Staatsfeiertag\n - date: 2025-05-29\n title: Christi Himmelfahrt\n - date: 2025-06-09\n title: Pfingstmontag\n - date: 2025-06-19\n title: Fronleichnam\n - date: 2025-08-15\n title: Mariä Himmelfahrt\n - date: 2025-10-26\n title: Nationalfeiertag\n - date: 2025-11-01\n title: Allerheiligen\n - date: 2025-12-08\n title: Mariä Empfängnis\n - date: 2025-12-25\n title: Christtag\n - date: 2025-12-26\n title: Stefanitag\n - date: 2026-01-01\n title: Neujahr\n - date: 2026-01-06\n title: Heilige Drei Könige\n - date: 2026-04-06\n title: Ostermontag\n - date: 2026-05-01\n title: Staatsfeiertag\n - date: 2026-05-14\n title: Christi Himmelfahrt\n - date: 2026-05-25\n title: Pfingstmontag\n - date: 2026-06-04\n title: Fronleichnam\n - date: 2026-08-15\n title: Mariä Himmelfahrt\n - date: 2026-10-26\n title: Nationalfeiertag\n - date: 2026-11-01\n title: Allerheiligen\n - date: 2026-12-08\n title: Mariä Empfängnis\n - date: 2026-12-25\n title: Christtag\n - date: 2026-12-26\n title: Stefanitag\n - date: 2027-01-01\n title: Neujahr\n - date: 2027-01-06\n title: Heilige Drei Könige\n - date: 2027-03-29\n title: Ostermontag\n - date: 2027-05-01\n title: Staatsfeiertag\n - date: 2027-05-06\n title: Christi Himmelfahrt\n - date: 2027-05-17\n title: Pfingstmontag\n - date: 2027-05-27\n title: Fronleichnam\n - date: 2027-08-15\n title: Mariä Himmelfahrt\n - date: 2027-10-26\n title: Nationalfeiertag\n - date: 2027-11-01\n title: Allerheiligen\n - date: 2027-12-08\n title: Mariä Empfängnis\n - date: 2027-12-25\n title: Christtag\n - date: 2027-12-26\n title: Stefanitag\n - date: 2028-01-01\n title: Neujahr\n - date: 2028-01-06\n title: Heilige Drei Könige\n - date: 2028-04-17\n title: Ostermontag\n - date: 2028-05-01\n title: Staatsfeiertag\n - date: 2028-05-25\n title: Christi Himmelfahrt\n - date: 2028-06-05\n title: Pfingstmontag\n - date: 2028-06-15\n title: Fronleichnam\n - date: 2028-08-15\n title: Mariä Himmelfahrt\n - date: 2028-10-26\n title: Nationalfeiertag\n - date: 2028-11-01\n title: Allerheiligen\n - date: 2028-12-08\n title: Mariä Empfängnis\n - date: 2028-12-25\n title: Christtag\n - date: 2028-12-26\n title: Stefanitag\n - date: 2029-01-01\n title: Neujahr\n - date: 2029-01-06\n title: Heilige Drei Könige\n - date: 2029-04-02\n title: Ostermontag\n - date: 2029-05-01\n title: Staatsfeiertag\n - date: 2029-05-10\n title: Christi Himmelfahrt\n - date: 2029-05-21\n title: Pfingstmontag\n - date: 2029-05-31\n title: Fronleichnam\n - date: 2029-08-15\n title: Mariä Himmelfahrt\n - date: 2029-10-26\n title: Nationalfeiertag\n - date: 2029-11-01\n title: Allerheiligen\n - date: 2029-12-08\n title: Mariä Empfängnis\n - date: 2029-12-25\n title: Christtag\n - date: 2029-12-26\n title: Stefanitag\n - date: 2030-01-01\n title: Neujahr\n - date: 2030-01-06\n title: Heilige Drei Könige\n - date: 2030-04-22\n title: Ostermontag\n - date: 2030-05-01\n title: Staatsfeiertag\n - date: 2030-05-30\n title: Christi Himmelfahrt\n - date: 2030-06-10\n title: Pfingstmontag\n - date: 2030-06-20\n title: Fronleichnam\n - date: 2030-08-15\n title: Mariä Himmelfahrt\n - date: 2030-10-26\n title: Nationalfeiertag\n - date: 2030-11-01\n title: Allerheiligen\n - date: 2030-12-08\n title: Mariä Empfängnis\n - date: 2030-12-25\n title: Christtag\n - date: 2030-12-26\n title: Stefanitag\n - date: 2031-01-01\n title: Neujahr\n - date: 2031-01-06\n title: Heilige Drei Könige\n - date: 2031-04-14\n title: Ostermontag\n - date: 2031-05-01\n title: Staatsfeiertag\n - date: 2031-05-22\n title: Christi Himmelfahrt\n - date: 2031-06-02\n title: Pfingstmontag\n - date: 2031-06-12\n title: Fronleichnam\n - date: 2031-08-15\n title: Mariä Himmelfahrt\n - date: 2031-10-26\n title: Nationalfeiertag\n - date: 2031-11-01\n title: Allerheiligen\n - date: 2031-12-08\n title: Mariä Empfängnis\n - date: 2031-12-25\n title: Christtag\n - date: 2031-12-26\n title: Stefanitag\n - date: 2032-01-01\n title: Neujahr\n - date: 2032-01-06\n title: Heilige Drei Könige\n - date: 2032-03-29\n title: Ostermontag\n - date: 2032-05-01\n title: Staatsfeiertag\n - date: 2032-05-06\n title: Christi Himmelfahrt\n - date: 2032-05-17\n title: Pfingstmontag\n - date: 2032-05-27\n title: Fronleichnam\n - date: 2032-08-15\n title: Mariä Himmelfahrt\n - date: 2032-10-26\n title: Nationalfeiertag\n - date: 2032-11-01\n title: Allerheiligen\n - date: 2032-12-08\n title: Mariä Empfängnis\n - date: 2032-12-25\n title: Christtag\n - date: 2032-12-26\n title: Stefanitag\n - date: 2033-01-01\n title: Neujahr\n - date: 2033-01-06\n title: Heilige Drei Könige\n - date: 2033-04-18\n title: Ostermontag\n - date: 2033-05-01\n title: Staatsfeiertag\n - date: 2033-05-26\n title: Christi Himmelfahrt\n - date: 2033-06-06\n title: Pfingstmontag\n - date: 2033-06-16\n title: Fronleichnam\n - date: 2023-07-31\n title: Reini Day\n - date: 2024-07-31\n title: Reini Day\n - date: 2025-07-31\n title: Reini Day\n - date: 2026-07-31\n title: Reini Day\n - date: 2027-07-31\n title: Reini Day\n - date: 2028-07-31\n title: Reini Day\n - date: 2029-07-31\n title: Reini Day\n - date: 2030-07-31\n title: Reini Day\n - date: 2031-07-31\n title: Reini Day\n - date: 2032-07-31\n title: Reini Day\n - date: 2033-07-31\n title: Reini Day\n base:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n daysInMonths:\n - -1\n daysInYears:\n - -2\n - -1\n - 1\n - 2\n - 3\n frequency: WEEKLY\n interval: 33\n months:\n - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n weekdays:\n - MO\n - TU\n - WE\n weeks:\n - -2\n - -1\n - 1\n - 2\n - 3\n workdays: WORKING\n '#name#':\n type: dynatrace:AutomationSchedulingRule\n properties:\n title: '#name#'\n fixedOffset:\n offset: 50\n rule: ${base.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Relative Offset rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst calendar = new dynatrace.AutomationBusinessCalendar(\"calendar\", {\n description: \"#name#\",\n title: \"#name#\",\n validFrom: \"2023-07-31\",\n validTo: \"2033-07-31\",\n weekDays: [\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n weekStart: 1,\n holidays: {\n holidays: [\n {\n date: \"2023-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2023-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2023-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2023-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2023-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2023-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2024-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2024-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2024-04-01\",\n title: \"Ostermontag\",\n },\n {\n date: \"2024-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2024-05-09\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2024-05-20\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2024-05-30\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2024-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2024-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2024-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2024-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2024-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2024-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2025-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2025-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2025-04-21\",\n title: \"Ostermontag\",\n },\n {\n date: \"2025-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2025-05-29\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2025-06-09\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2025-06-19\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2025-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2025-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2025-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2025-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2025-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2025-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2026-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2026-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2026-04-06\",\n title: \"Ostermontag\",\n },\n {\n date: \"2026-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2026-05-14\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2026-05-25\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2026-06-04\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2026-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2026-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2026-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2026-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2026-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2026-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2027-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2027-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2027-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2027-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2027-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2027-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2027-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2027-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2027-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2027-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2027-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2027-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2027-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2028-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2028-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2028-04-17\",\n title: \"Ostermontag\",\n },\n {\n date: \"2028-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2028-05-25\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2028-06-05\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2028-06-15\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2028-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2028-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2028-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2028-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2028-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2028-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2029-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2029-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2029-04-02\",\n title: \"Ostermontag\",\n },\n {\n date: \"2029-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2029-05-10\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2029-05-21\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2029-05-31\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2029-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2029-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2029-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2029-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2029-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2029-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2030-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2030-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2030-04-22\",\n title: \"Ostermontag\",\n },\n {\n date: \"2030-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2030-05-30\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2030-06-10\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2030-06-20\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2030-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2030-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2030-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2030-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2030-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2030-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2031-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2031-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2031-04-14\",\n title: \"Ostermontag\",\n },\n {\n date: \"2031-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2031-05-22\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2031-06-02\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2031-06-12\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2031-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2031-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2031-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2031-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2031-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2031-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2032-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2032-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2032-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2032-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2032-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2032-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2032-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2032-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2032-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2032-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2032-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2032-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2032-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2033-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2033-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2033-04-18\",\n title: \"Ostermontag\",\n },\n {\n date: \"2033-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2033-05-26\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2033-06-06\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2033-06-16\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2023-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2024-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2025-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2026-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2027-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2028-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2029-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2030-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2031-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2032-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2033-07-31\",\n title: \"Reini Day\",\n },\n ],\n },\n});\nconst base = new dynatrace.AutomationSchedulingRule(\"base\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n daysInMonths: [-1],\n daysInYears: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n frequency: \"WEEKLY\",\n interval: 33,\n months: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n weekdays: [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n weeks: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n workdays: \"WORKING\",\n },\n});\nconst source = new dynatrace.AutomationSchedulingRule(\"source\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n daysInMonths: [-1],\n daysInYears: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n frequency: \"WEEKLY\",\n interval: 33,\n months: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n weekdays: [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n weeks: [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n workdays: \"WORKING\",\n },\n});\nconst target = new dynatrace.AutomationSchedulingRule(\"target\", {\n title: \"#name#\",\n fixedOffset: {\n offset: 50,\n rule: base.id,\n },\n});\nconst _name_ = new dynatrace.AutomationSchedulingRule(\"#name#\", {\n title: \"#name#\",\n relativeOffset: {\n direction: \"previous\",\n sourceRule: source.id,\n targetRule: target.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_dynatrace as dynatrace\n\ncalendar = dynatrace.AutomationBusinessCalendar(\"calendar\",\n description=\"#name#\",\n title=\"#name#\",\n valid_from=\"2023-07-31\",\n valid_to=\"2033-07-31\",\n week_days=[\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n week_start=1,\n holidays={\n \"holidays\": [\n {\n \"date\": \"2023-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2023-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2023-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2023-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2023-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2023-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2024-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2024-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2024-04-01\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2024-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2024-05-09\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2024-05-20\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2024-05-30\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2024-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2024-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2024-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2024-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2024-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2024-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2025-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2025-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2025-04-21\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2025-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2025-05-29\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2025-06-09\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2025-06-19\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2025-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2025-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2025-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2025-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2025-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2025-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2026-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2026-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2026-04-06\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2026-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2026-05-14\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2026-05-25\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2026-06-04\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2026-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2026-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2026-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2026-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2026-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2026-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2027-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2027-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2027-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2027-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2027-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2027-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2027-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2027-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2027-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2027-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2027-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2027-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2027-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2028-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2028-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2028-04-17\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2028-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2028-05-25\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2028-06-05\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2028-06-15\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2028-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2028-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2028-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2028-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2028-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2028-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2029-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2029-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2029-04-02\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2029-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2029-05-10\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2029-05-21\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2029-05-31\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2029-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2029-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2029-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2029-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2029-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2029-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2030-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2030-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2030-04-22\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2030-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2030-05-30\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2030-06-10\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2030-06-20\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2030-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2030-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2030-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2030-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2030-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2030-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2031-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2031-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2031-04-14\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2031-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2031-05-22\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2031-06-02\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2031-06-12\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2031-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2031-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2031-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2031-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2031-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2031-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2032-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2032-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2032-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2032-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2032-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2032-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2032-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2032-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2032-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2032-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2032-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2032-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2032-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2033-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2033-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2033-04-18\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2033-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2033-05-26\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2033-06-06\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2033-06-16\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2023-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2024-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2025-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2026-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2027-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2028-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2029-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2030-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2031-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2032-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2033-07-31\",\n \"title\": \"Reini Day\",\n },\n ],\n })\nbase = dynatrace.AutomationSchedulingRule(\"base\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"days_in_months\": [-1],\n \"days_in_years\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"frequency\": \"WEEKLY\",\n \"interval\": 33,\n \"months\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n \"weekdays\": [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n \"weeks\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"workdays\": \"WORKING\",\n })\nsource = dynatrace.AutomationSchedulingRule(\"source\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"days_in_months\": [-1],\n \"days_in_years\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"frequency\": \"WEEKLY\",\n \"interval\": 33,\n \"months\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n ],\n \"weekdays\": [\n \"MO\",\n \"TU\",\n \"WE\",\n ],\n \"weeks\": [\n -2,\n -1,\n 1,\n 2,\n 3,\n ],\n \"workdays\": \"WORKING\",\n })\ntarget = dynatrace.AutomationSchedulingRule(\"target\",\n title=\"#name#\",\n fixed_offset={\n \"offset\": 50,\n \"rule\": base.id,\n })\n_name_ = dynatrace.AutomationSchedulingRule(\"#name#\",\n title=\"#name#\",\n relative_offset={\n \"direction\": \"previous\",\n \"source_rule\": source.id,\n \"target_rule\": target.id,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var calendar = new Dynatrace.AutomationBusinessCalendar(\"calendar\", new()\n {\n Description = \"#name#\",\n Title = \"#name#\",\n ValidFrom = \"2023-07-31\",\n ValidTo = \"2033-07-31\",\n WeekDays = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n },\n WeekStart = 1,\n Holidays = new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysArgs\n {\n Holidays = new[]\n {\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-04-01\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-09\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-20\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-30\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-04-21\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-29\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-09\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-19\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-04-06\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-14\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-25\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-06-04\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-04-17\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-25\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-05\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-15\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-04-02\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-10\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-21\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-31\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-04-22\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-30\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-10\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-20\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-04-14\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-22\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-02\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-12\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-04-18\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-26\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-06\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-16\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-07-31\",\n Title = \"Reini Day\",\n },\n },\n },\n });\n\n var @base = new Dynatrace.AutomationSchedulingRule(\"base\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n DaysInMonths = new[]\n {\n -1,\n },\n DaysInYears = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Frequency = \"WEEKLY\",\n Interval = 33,\n Months = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n },\n Weekdays = new[]\n {\n \"MO\",\n \"TU\",\n \"WE\",\n },\n Weeks = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Workdays = \"WORKING\",\n },\n });\n\n var source = new Dynatrace.AutomationSchedulingRule(\"source\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n DaysInMonths = new[]\n {\n -1,\n },\n DaysInYears = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Frequency = \"WEEKLY\",\n Interval = 33,\n Months = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n },\n Weekdays = new[]\n {\n \"MO\",\n \"TU\",\n \"WE\",\n },\n Weeks = new[]\n {\n -2,\n -1,\n 1,\n 2,\n 3,\n },\n Workdays = \"WORKING\",\n },\n });\n\n var target = new Dynatrace.AutomationSchedulingRule(\"target\", new()\n {\n Title = \"#name#\",\n FixedOffset = new Dynatrace.Inputs.AutomationSchedulingRuleFixedOffsetArgs\n {\n Offset = 50,\n Rule = @base.Id,\n },\n });\n\n var _name_ = new Dynatrace.AutomationSchedulingRule(\"#name#\", new()\n {\n Title = \"#name#\",\n RelativeOffset = new Dynatrace.Inputs.AutomationSchedulingRuleRelativeOffsetArgs\n {\n Direction = \"previous\",\n SourceRule = source.Id,\n TargetRule = target.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcalendar, err := dynatrace.NewAutomationBusinessCalendar(ctx, \"calendar\", \u0026dynatrace.AutomationBusinessCalendarArgs{\n\t\t\tDescription: pulumi.String(\"#name#\"),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tValidFrom: pulumi.String(\"2023-07-31\"),\n\t\t\tValidTo: pulumi.String(\"2033-07-31\"),\n\t\t\tWeekDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tWeekStart: pulumi.Int(1),\n\t\t\tHolidays: \u0026dynatrace.AutomationBusinessCalendarHolidaysArgs{\n\t\t\t\tHolidays: dynatrace.AutomationBusinessCalendarHolidaysHolidayArray{\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-04-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-04-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-19\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-04-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-06-04\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-04-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-05\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-04-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-04-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-04-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-12\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-04-18\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-16\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\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\tbase, err := dynatrace.NewAutomationSchedulingRule(ctx, \"base\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tDaysInMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t},\n\t\t\t\tDaysInYears: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tFrequency: pulumi.String(\"WEEKLY\"),\n\t\t\t\tInterval: pulumi.Int(33),\n\t\t\t\tMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t\tpulumi.Int(4),\n\t\t\t\t\tpulumi.Int(5),\n\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\tpulumi.Int(7),\n\t\t\t\t\tpulumi.Int(8),\n\t\t\t\t\tpulumi.Int(9),\n\t\t\t\t\tpulumi.Int(10),\n\t\t\t\t\tpulumi.Int(11),\n\t\t\t\t\tpulumi.Int(12),\n\t\t\t\t},\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"MO\"),\n\t\t\t\t\tpulumi.String(\"TU\"),\n\t\t\t\t\tpulumi.String(\"WE\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := dynatrace.NewAutomationSchedulingRule(ctx, \"source\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tDaysInMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t},\n\t\t\t\tDaysInYears: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tFrequency: pulumi.String(\"WEEKLY\"),\n\t\t\t\tInterval: pulumi.Int(33),\n\t\t\t\tMonths: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t\tpulumi.Int(4),\n\t\t\t\t\tpulumi.Int(5),\n\t\t\t\t\tpulumi.Int(6),\n\t\t\t\t\tpulumi.Int(7),\n\t\t\t\t\tpulumi.Int(8),\n\t\t\t\t\tpulumi.Int(9),\n\t\t\t\t\tpulumi.Int(10),\n\t\t\t\t\tpulumi.Int(11),\n\t\t\t\t\tpulumi.Int(12),\n\t\t\t\t},\n\t\t\t\tWeekdays: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"MO\"),\n\t\t\t\t\tpulumi.String(\"TU\"),\n\t\t\t\t\tpulumi.String(\"WE\"),\n\t\t\t\t},\n\t\t\t\tWeeks: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(-2),\n\t\t\t\t\tpulumi.Int(-1),\n\t\t\t\t\tpulumi.Int(1),\n\t\t\t\t\tpulumi.Int(2),\n\t\t\t\t\tpulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := dynatrace.NewAutomationSchedulingRule(ctx, \"target\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tFixedOffset: \u0026dynatrace.AutomationSchedulingRuleFixedOffsetArgs{\n\t\t\t\tOffset: pulumi.Int(50),\n\t\t\t\tRule: base.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewAutomationSchedulingRule(ctx, \"#name#\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRelativeOffset: \u0026dynatrace.AutomationSchedulingRuleRelativeOffsetArgs{\n\t\t\t\tDirection: pulumi.String(\"previous\"),\n\t\t\t\tSourceRule: source.ID(),\n\t\t\t\tTargetRule: target.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dynatrace.AutomationBusinessCalendar;\nimport com.pulumi.dynatrace.AutomationBusinessCalendarArgs;\nimport com.pulumi.dynatrace.inputs.AutomationBusinessCalendarHolidaysArgs;\nimport com.pulumi.dynatrace.AutomationSchedulingRule;\nimport com.pulumi.dynatrace.AutomationSchedulingRuleArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleRecurrenceArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleFixedOffsetArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleRelativeOffsetArgs;\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 calendar = new AutomationBusinessCalendar(\"calendar\", AutomationBusinessCalendarArgs.builder()\n .description(\"#name#\")\n .title(\"#name#\")\n .validFrom(\"2023-07-31\")\n .validTo(\"2033-07-31\")\n .weekDays( \n 1,\n 2,\n 3,\n 4,\n 5)\n .weekStart(1)\n .holidays(AutomationBusinessCalendarHolidaysArgs.builder()\n .holidays( \n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-04-01\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-09\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-20\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-30\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-04-21\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-29\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-09\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-19\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-04-06\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-14\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-25\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-06-04\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-04-17\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-25\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-05\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-15\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-04-02\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-10\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-21\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-31\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-04-22\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-30\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-10\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-20\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-04-14\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-22\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-02\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-12\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-04-18\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-26\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-06\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-16\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-07-31\")\n .title(\"Reini Day\")\n .build())\n .build())\n .build());\n\n var base = new AutomationSchedulingRule(\"base\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .daysInMonths(-1)\n .daysInYears( \n -2,\n -1,\n 1,\n 2,\n 3)\n .frequency(\"WEEKLY\")\n .interval(33)\n .months( \n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12)\n .weekdays( \n \"MO\",\n \"TU\",\n \"WE\")\n .weeks( \n -2,\n -1,\n 1,\n 2,\n 3)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var source = new AutomationSchedulingRule(\"source\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .daysInMonths(-1)\n .daysInYears( \n -2,\n -1,\n 1,\n 2,\n 3)\n .frequency(\"WEEKLY\")\n .interval(33)\n .months( \n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12)\n .weekdays( \n \"MO\",\n \"TU\",\n \"WE\")\n .weeks( \n -2,\n -1,\n 1,\n 2,\n 3)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var target = new AutomationSchedulingRule(\"target\", AutomationSchedulingRuleArgs.builder()\n .title(\"#name#\")\n .fixedOffset(AutomationSchedulingRuleFixedOffsetArgs.builder()\n .offset(50)\n .rule(base.id())\n .build())\n .build());\n\n var _name_ = new AutomationSchedulingRule(\"#name#\", AutomationSchedulingRuleArgs.builder()\n .title(\"#name#\")\n .relativeOffset(AutomationSchedulingRuleRelativeOffsetArgs.builder()\n .direction(\"previous\")\n .sourceRule(source.id())\n .targetRule(target.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n calendar:\n type: dynatrace:AutomationBusinessCalendar\n properties:\n description: '#name#'\n title: '#name#'\n validFrom: 2023-07-31\n validTo: 2033-07-31\n weekDays:\n - 1\n - 2\n - 3\n - 4\n - 5\n weekStart: 1\n holidays:\n holidays:\n - date: 2023-08-15\n title: Mariä Himmelfahrt\n - date: 2023-10-26\n title: Nationalfeiertag\n - date: 2023-11-01\n title: Allerheiligen\n - date: 2023-12-08\n title: Mariä Empfängnis\n - date: 2023-12-25\n title: Christtag\n - date: 2023-12-26\n title: Stefanitag\n - date: 2024-01-01\n title: Neujahr\n - date: 2024-01-06\n title: Heilige Drei Könige\n - date: 2024-04-01\n title: Ostermontag\n - date: 2024-05-01\n title: Staatsfeiertag\n - date: 2024-05-09\n title: Christi Himmelfahrt\n - date: 2024-05-20\n title: Pfingstmontag\n - date: 2024-05-30\n title: Fronleichnam\n - date: 2024-08-15\n title: Mariä Himmelfahrt\n - date: 2024-10-26\n title: Nationalfeiertag\n - date: 2024-11-01\n title: Allerheiligen\n - date: 2024-12-08\n title: Mariä Empfängnis\n - date: 2024-12-25\n title: Christtag\n - date: 2024-12-26\n title: Stefanitag\n - date: 2025-01-01\n title: Neujahr\n - date: 2025-01-06\n title: Heilige Drei Könige\n - date: 2025-04-21\n title: Ostermontag\n - date: 2025-05-01\n title: Staatsfeiertag\n - date: 2025-05-29\n title: Christi Himmelfahrt\n - date: 2025-06-09\n title: Pfingstmontag\n - date: 2025-06-19\n title: Fronleichnam\n - date: 2025-08-15\n title: Mariä Himmelfahrt\n - date: 2025-10-26\n title: Nationalfeiertag\n - date: 2025-11-01\n title: Allerheiligen\n - date: 2025-12-08\n title: Mariä Empfängnis\n - date: 2025-12-25\n title: Christtag\n - date: 2025-12-26\n title: Stefanitag\n - date: 2026-01-01\n title: Neujahr\n - date: 2026-01-06\n title: Heilige Drei Könige\n - date: 2026-04-06\n title: Ostermontag\n - date: 2026-05-01\n title: Staatsfeiertag\n - date: 2026-05-14\n title: Christi Himmelfahrt\n - date: 2026-05-25\n title: Pfingstmontag\n - date: 2026-06-04\n title: Fronleichnam\n - date: 2026-08-15\n title: Mariä Himmelfahrt\n - date: 2026-10-26\n title: Nationalfeiertag\n - date: 2026-11-01\n title: Allerheiligen\n - date: 2026-12-08\n title: Mariä Empfängnis\n - date: 2026-12-25\n title: Christtag\n - date: 2026-12-26\n title: Stefanitag\n - date: 2027-01-01\n title: Neujahr\n - date: 2027-01-06\n title: Heilige Drei Könige\n - date: 2027-03-29\n title: Ostermontag\n - date: 2027-05-01\n title: Staatsfeiertag\n - date: 2027-05-06\n title: Christi Himmelfahrt\n - date: 2027-05-17\n title: Pfingstmontag\n - date: 2027-05-27\n title: Fronleichnam\n - date: 2027-08-15\n title: Mariä Himmelfahrt\n - date: 2027-10-26\n title: Nationalfeiertag\n - date: 2027-11-01\n title: Allerheiligen\n - date: 2027-12-08\n title: Mariä Empfängnis\n - date: 2027-12-25\n title: Christtag\n - date: 2027-12-26\n title: Stefanitag\n - date: 2028-01-01\n title: Neujahr\n - date: 2028-01-06\n title: Heilige Drei Könige\n - date: 2028-04-17\n title: Ostermontag\n - date: 2028-05-01\n title: Staatsfeiertag\n - date: 2028-05-25\n title: Christi Himmelfahrt\n - date: 2028-06-05\n title: Pfingstmontag\n - date: 2028-06-15\n title: Fronleichnam\n - date: 2028-08-15\n title: Mariä Himmelfahrt\n - date: 2028-10-26\n title: Nationalfeiertag\n - date: 2028-11-01\n title: Allerheiligen\n - date: 2028-12-08\n title: Mariä Empfängnis\n - date: 2028-12-25\n title: Christtag\n - date: 2028-12-26\n title: Stefanitag\n - date: 2029-01-01\n title: Neujahr\n - date: 2029-01-06\n title: Heilige Drei Könige\n - date: 2029-04-02\n title: Ostermontag\n - date: 2029-05-01\n title: Staatsfeiertag\n - date: 2029-05-10\n title: Christi Himmelfahrt\n - date: 2029-05-21\n title: Pfingstmontag\n - date: 2029-05-31\n title: Fronleichnam\n - date: 2029-08-15\n title: Mariä Himmelfahrt\n - date: 2029-10-26\n title: Nationalfeiertag\n - date: 2029-11-01\n title: Allerheiligen\n - date: 2029-12-08\n title: Mariä Empfängnis\n - date: 2029-12-25\n title: Christtag\n - date: 2029-12-26\n title: Stefanitag\n - date: 2030-01-01\n title: Neujahr\n - date: 2030-01-06\n title: Heilige Drei Könige\n - date: 2030-04-22\n title: Ostermontag\n - date: 2030-05-01\n title: Staatsfeiertag\n - date: 2030-05-30\n title: Christi Himmelfahrt\n - date: 2030-06-10\n title: Pfingstmontag\n - date: 2030-06-20\n title: Fronleichnam\n - date: 2030-08-15\n title: Mariä Himmelfahrt\n - date: 2030-10-26\n title: Nationalfeiertag\n - date: 2030-11-01\n title: Allerheiligen\n - date: 2030-12-08\n title: Mariä Empfängnis\n - date: 2030-12-25\n title: Christtag\n - date: 2030-12-26\n title: Stefanitag\n - date: 2031-01-01\n title: Neujahr\n - date: 2031-01-06\n title: Heilige Drei Könige\n - date: 2031-04-14\n title: Ostermontag\n - date: 2031-05-01\n title: Staatsfeiertag\n - date: 2031-05-22\n title: Christi Himmelfahrt\n - date: 2031-06-02\n title: Pfingstmontag\n - date: 2031-06-12\n title: Fronleichnam\n - date: 2031-08-15\n title: Mariä Himmelfahrt\n - date: 2031-10-26\n title: Nationalfeiertag\n - date: 2031-11-01\n title: Allerheiligen\n - date: 2031-12-08\n title: Mariä Empfängnis\n - date: 2031-12-25\n title: Christtag\n - date: 2031-12-26\n title: Stefanitag\n - date: 2032-01-01\n title: Neujahr\n - date: 2032-01-06\n title: Heilige Drei Könige\n - date: 2032-03-29\n title: Ostermontag\n - date: 2032-05-01\n title: Staatsfeiertag\n - date: 2032-05-06\n title: Christi Himmelfahrt\n - date: 2032-05-17\n title: Pfingstmontag\n - date: 2032-05-27\n title: Fronleichnam\n - date: 2032-08-15\n title: Mariä Himmelfahrt\n - date: 2032-10-26\n title: Nationalfeiertag\n - date: 2032-11-01\n title: Allerheiligen\n - date: 2032-12-08\n title: Mariä Empfängnis\n - date: 2032-12-25\n title: Christtag\n - date: 2032-12-26\n title: Stefanitag\n - date: 2033-01-01\n title: Neujahr\n - date: 2033-01-06\n title: Heilige Drei Könige\n - date: 2033-04-18\n title: Ostermontag\n - date: 2033-05-01\n title: Staatsfeiertag\n - date: 2033-05-26\n title: Christi Himmelfahrt\n - date: 2033-06-06\n title: Pfingstmontag\n - date: 2033-06-16\n title: Fronleichnam\n - date: 2023-07-31\n title: Reini Day\n - date: 2024-07-31\n title: Reini Day\n - date: 2025-07-31\n title: Reini Day\n - date: 2026-07-31\n title: Reini Day\n - date: 2027-07-31\n title: Reini Day\n - date: 2028-07-31\n title: Reini Day\n - date: 2029-07-31\n title: Reini Day\n - date: 2030-07-31\n title: Reini Day\n - date: 2031-07-31\n title: Reini Day\n - date: 2032-07-31\n title: Reini Day\n - date: 2033-07-31\n title: Reini Day\n base:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n daysInMonths:\n - -1\n daysInYears:\n - -2\n - -1\n - 1\n - 2\n - 3\n frequency: WEEKLY\n interval: 33\n months:\n - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n weekdays:\n - MO\n - TU\n - WE\n weeks:\n - -2\n - -1\n - 1\n - 2\n - 3\n workdays: WORKING\n source:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n daysInMonths:\n - -1\n daysInYears:\n - -2\n - -1\n - 1\n - 2\n - 3\n frequency: WEEKLY\n interval: 33\n months:\n - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n weekdays:\n - MO\n - TU\n - WE\n weeks:\n - -2\n - -1\n - 1\n - 2\n - 3\n workdays: WORKING\n target:\n type: dynatrace:AutomationSchedulingRule\n properties:\n title: '#name#'\n fixedOffset:\n offset: 50\n rule: ${base.id}\n '#name#':\n type: dynatrace:AutomationSchedulingRule\n properties:\n title: '#name#'\n relativeOffset:\n direction: previous\n sourceRule: ${source.id}\n targetRule: ${target.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Grouping Rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst calendar = new dynatrace.AutomationBusinessCalendar(\"calendar\", {\n description: \"#name#\",\n title: \"#name#\",\n validFrom: \"2023-07-31\",\n validTo: \"2033-07-31\",\n weekDays: [\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n weekStart: 1,\n holidays: {\n holidays: [\n {\n date: \"2023-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2023-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2023-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2023-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2023-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2023-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2024-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2024-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2024-04-01\",\n title: \"Ostermontag\",\n },\n {\n date: \"2024-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2024-05-09\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2024-05-20\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2024-05-30\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2024-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2024-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2024-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2024-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2024-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2024-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2025-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2025-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2025-04-21\",\n title: \"Ostermontag\",\n },\n {\n date: \"2025-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2025-05-29\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2025-06-09\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2025-06-19\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2025-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2025-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2025-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2025-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2025-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2025-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2026-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2026-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2026-04-06\",\n title: \"Ostermontag\",\n },\n {\n date: \"2026-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2026-05-14\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2026-05-25\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2026-06-04\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2026-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2026-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2026-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2026-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2026-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2026-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2027-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2027-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2027-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2027-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2027-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2027-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2027-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2027-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2027-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2027-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2027-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2027-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2027-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2028-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2028-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2028-04-17\",\n title: \"Ostermontag\",\n },\n {\n date: \"2028-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2028-05-25\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2028-06-05\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2028-06-15\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2028-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2028-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2028-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2028-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2028-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2028-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2029-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2029-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2029-04-02\",\n title: \"Ostermontag\",\n },\n {\n date: \"2029-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2029-05-10\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2029-05-21\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2029-05-31\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2029-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2029-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2029-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2029-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2029-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2029-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2030-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2030-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2030-04-22\",\n title: \"Ostermontag\",\n },\n {\n date: \"2030-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2030-05-30\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2030-06-10\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2030-06-20\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2030-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2030-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2030-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2030-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2030-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2030-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2031-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2031-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2031-04-14\",\n title: \"Ostermontag\",\n },\n {\n date: \"2031-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2031-05-22\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2031-06-02\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2031-06-12\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2031-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2031-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2031-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2031-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2031-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2031-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2032-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2032-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2032-03-29\",\n title: \"Ostermontag\",\n },\n {\n date: \"2032-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2032-05-06\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2032-05-17\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2032-05-27\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2032-08-15\",\n title: \"Mariä Himmelfahrt\",\n },\n {\n date: \"2032-10-26\",\n title: \"Nationalfeiertag\",\n },\n {\n date: \"2032-11-01\",\n title: \"Allerheiligen\",\n },\n {\n date: \"2032-12-08\",\n title: \"Mariä Empfängnis\",\n },\n {\n date: \"2032-12-25\",\n title: \"Christtag\",\n },\n {\n date: \"2032-12-26\",\n title: \"Stefanitag\",\n },\n {\n date: \"2033-01-01\",\n title: \"Neujahr\",\n },\n {\n date: \"2033-01-06\",\n title: \"Heilige Drei Könige\",\n },\n {\n date: \"2033-04-18\",\n title: \"Ostermontag\",\n },\n {\n date: \"2033-05-01\",\n title: \"Staatsfeiertag\",\n },\n {\n date: \"2033-05-26\",\n title: \"Christi Himmelfahrt\",\n },\n {\n date: \"2033-06-06\",\n title: \"Pfingstmontag\",\n },\n {\n date: \"2033-06-16\",\n title: \"Fronleichnam\",\n },\n {\n date: \"2023-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2024-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2025-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2026-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2027-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2028-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2029-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2030-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2031-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2032-07-31\",\n title: \"Reini Day\",\n },\n {\n date: \"2033-07-31\",\n title: \"Reini Day\",\n },\n ],\n },\n});\nconst subtract = new dynatrace.AutomationSchedulingRule(\"subtract\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2029-07-31\",\n frequency: \"DAILY\",\n interval: 1,\n workdays: \"WORKING\",\n },\n});\nconst comba = new dynatrace.AutomationSchedulingRule(\"comba\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n frequency: \"DAILY\",\n interval: 1,\n workdays: \"WORKING\",\n },\n});\nconst combb = new dynatrace.AutomationSchedulingRule(\"combb\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n frequency: \"DAILY\",\n interval: 1,\n workdays: \"WORKING\",\n },\n});\nconst intersect = new dynatrace.AutomationSchedulingRule(\"intersect\", {\n businessCalendar: calendar.id,\n title: \"#name#\",\n recurrence: {\n datestart: \"2023-07-31\",\n frequency: \"DAILY\",\n interval: 1,\n workdays: \"WORKING\",\n },\n});\nconst _name_ = new dynatrace.AutomationSchedulingRule(\"#name#\", {\n title: \"#name#\",\n grouping: {\n combines: [\n comba.id,\n combb.id,\n ],\n intersects: [intersect.id],\n subtracts: [subtract.id],\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_dynatrace as dynatrace\n\ncalendar = dynatrace.AutomationBusinessCalendar(\"calendar\",\n description=\"#name#\",\n title=\"#name#\",\n valid_from=\"2023-07-31\",\n valid_to=\"2033-07-31\",\n week_days=[\n 1,\n 2,\n 3,\n 4,\n 5,\n ],\n week_start=1,\n holidays={\n \"holidays\": [\n {\n \"date\": \"2023-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2023-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2023-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2023-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2023-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2023-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2024-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2024-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2024-04-01\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2024-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2024-05-09\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2024-05-20\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2024-05-30\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2024-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2024-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2024-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2024-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2024-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2024-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2025-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2025-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2025-04-21\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2025-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2025-05-29\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2025-06-09\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2025-06-19\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2025-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2025-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2025-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2025-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2025-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2025-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2026-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2026-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2026-04-06\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2026-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2026-05-14\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2026-05-25\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2026-06-04\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2026-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2026-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2026-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2026-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2026-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2026-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2027-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2027-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2027-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2027-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2027-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2027-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2027-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2027-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2027-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2027-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2027-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2027-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2027-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2028-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2028-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2028-04-17\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2028-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2028-05-25\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2028-06-05\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2028-06-15\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2028-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2028-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2028-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2028-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2028-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2028-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2029-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2029-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2029-04-02\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2029-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2029-05-10\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2029-05-21\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2029-05-31\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2029-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2029-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2029-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2029-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2029-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2029-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2030-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2030-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2030-04-22\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2030-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2030-05-30\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2030-06-10\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2030-06-20\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2030-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2030-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2030-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2030-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2030-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2030-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2031-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2031-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2031-04-14\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2031-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2031-05-22\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2031-06-02\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2031-06-12\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2031-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2031-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2031-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2031-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2031-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2031-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2032-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2032-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2032-03-29\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2032-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2032-05-06\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2032-05-17\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2032-05-27\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2032-08-15\",\n \"title\": \"Mariä Himmelfahrt\",\n },\n {\n \"date\": \"2032-10-26\",\n \"title\": \"Nationalfeiertag\",\n },\n {\n \"date\": \"2032-11-01\",\n \"title\": \"Allerheiligen\",\n },\n {\n \"date\": \"2032-12-08\",\n \"title\": \"Mariä Empfängnis\",\n },\n {\n \"date\": \"2032-12-25\",\n \"title\": \"Christtag\",\n },\n {\n \"date\": \"2032-12-26\",\n \"title\": \"Stefanitag\",\n },\n {\n \"date\": \"2033-01-01\",\n \"title\": \"Neujahr\",\n },\n {\n \"date\": \"2033-01-06\",\n \"title\": \"Heilige Drei Könige\",\n },\n {\n \"date\": \"2033-04-18\",\n \"title\": \"Ostermontag\",\n },\n {\n \"date\": \"2033-05-01\",\n \"title\": \"Staatsfeiertag\",\n },\n {\n \"date\": \"2033-05-26\",\n \"title\": \"Christi Himmelfahrt\",\n },\n {\n \"date\": \"2033-06-06\",\n \"title\": \"Pfingstmontag\",\n },\n {\n \"date\": \"2033-06-16\",\n \"title\": \"Fronleichnam\",\n },\n {\n \"date\": \"2023-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2024-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2025-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2026-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2027-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2028-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2029-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2030-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2031-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2032-07-31\",\n \"title\": \"Reini Day\",\n },\n {\n \"date\": \"2033-07-31\",\n \"title\": \"Reini Day\",\n },\n ],\n })\nsubtract = dynatrace.AutomationSchedulingRule(\"subtract\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2029-07-31\",\n \"frequency\": \"DAILY\",\n \"interval\": 1,\n \"workdays\": \"WORKING\",\n })\ncomba = dynatrace.AutomationSchedulingRule(\"comba\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"frequency\": \"DAILY\",\n \"interval\": 1,\n \"workdays\": \"WORKING\",\n })\ncombb = dynatrace.AutomationSchedulingRule(\"combb\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"frequency\": \"DAILY\",\n \"interval\": 1,\n \"workdays\": \"WORKING\",\n })\nintersect = dynatrace.AutomationSchedulingRule(\"intersect\",\n business_calendar=calendar.id,\n title=\"#name#\",\n recurrence={\n \"datestart\": \"2023-07-31\",\n \"frequency\": \"DAILY\",\n \"interval\": 1,\n \"workdays\": \"WORKING\",\n })\n_name_ = dynatrace.AutomationSchedulingRule(\"#name#\",\n title=\"#name#\",\n grouping={\n \"combines\": [\n comba.id,\n combb.id,\n ],\n \"intersects\": [intersect.id],\n \"subtracts\": [subtract.id],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var calendar = new Dynatrace.AutomationBusinessCalendar(\"calendar\", new()\n {\n Description = \"#name#\",\n Title = \"#name#\",\n ValidFrom = \"2023-07-31\",\n ValidTo = \"2033-07-31\",\n WeekDays = new[]\n {\n 1,\n 2,\n 3,\n 4,\n 5,\n },\n WeekStart = 1,\n Holidays = new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysArgs\n {\n Holidays = new[]\n {\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-04-01\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-09\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-20\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-05-30\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-04-21\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-05-29\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-09\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-06-19\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-04-06\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-14\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-05-25\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-06-04\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-04-17\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-05-25\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-05\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-06-15\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-04-02\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-10\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-21\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-05-31\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-04-22\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-05-30\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-10\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-06-20\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-04-14\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-05-22\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-02\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-06-12\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-03-29\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-06\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-17\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-05-27\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-08-15\",\n Title = \"Mariä Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-10-26\",\n Title = \"Nationalfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-11-01\",\n Title = \"Allerheiligen\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-08\",\n Title = \"Mariä Empfängnis\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-25\",\n Title = \"Christtag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-12-26\",\n Title = \"Stefanitag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-01\",\n Title = \"Neujahr\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-01-06\",\n Title = \"Heilige Drei Könige\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-04-18\",\n Title = \"Ostermontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-01\",\n Title = \"Staatsfeiertag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-05-26\",\n Title = \"Christi Himmelfahrt\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-06\",\n Title = \"Pfingstmontag\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-06-16\",\n Title = \"Fronleichnam\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2023-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2024-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2025-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2026-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2027-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2028-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2029-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2030-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2031-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2032-07-31\",\n Title = \"Reini Day\",\n },\n new Dynatrace.Inputs.AutomationBusinessCalendarHolidaysHolidayArgs\n {\n Date = \"2033-07-31\",\n Title = \"Reini Day\",\n },\n },\n },\n });\n\n var subtract = new Dynatrace.AutomationSchedulingRule(\"subtract\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2029-07-31\",\n Frequency = \"DAILY\",\n Interval = 1,\n Workdays = \"WORKING\",\n },\n });\n\n var comba = new Dynatrace.AutomationSchedulingRule(\"comba\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n Frequency = \"DAILY\",\n Interval = 1,\n Workdays = \"WORKING\",\n },\n });\n\n var combb = new Dynatrace.AutomationSchedulingRule(\"combb\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n Frequency = \"DAILY\",\n Interval = 1,\n Workdays = \"WORKING\",\n },\n });\n\n var intersect = new Dynatrace.AutomationSchedulingRule(\"intersect\", new()\n {\n BusinessCalendar = calendar.Id,\n Title = \"#name#\",\n Recurrence = new Dynatrace.Inputs.AutomationSchedulingRuleRecurrenceArgs\n {\n Datestart = \"2023-07-31\",\n Frequency = \"DAILY\",\n Interval = 1,\n Workdays = \"WORKING\",\n },\n });\n\n var _name_ = new Dynatrace.AutomationSchedulingRule(\"#name#\", new()\n {\n Title = \"#name#\",\n Grouping = new Dynatrace.Inputs.AutomationSchedulingRuleGroupingArgs\n {\n Combines = new[]\n {\n comba.Id,\n combb.Id,\n },\n Intersects = new[]\n {\n intersect.Id,\n },\n Subtracts = new[]\n {\n subtract.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcalendar, err := dynatrace.NewAutomationBusinessCalendar(ctx, \"calendar\", \u0026dynatrace.AutomationBusinessCalendarArgs{\n\t\t\tDescription: pulumi.String(\"#name#\"),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tValidFrom: pulumi.String(\"2023-07-31\"),\n\t\t\tValidTo: pulumi.String(\"2033-07-31\"),\n\t\t\tWeekDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tWeekStart: pulumi.Int(1),\n\t\t\tHolidays: \u0026dynatrace.AutomationBusinessCalendarHolidaysArgs{\n\t\t\t\tHolidays: dynatrace.AutomationBusinessCalendarHolidaysHolidayArray{\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-04-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-04-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-05-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-09\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-06-19\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-04-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-06-04\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-04-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-05-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-05\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-06-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-04-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-21\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-05-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-04-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-05-30\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-10\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-06-20\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-04-14\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-05-22\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-06-12\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-03-29\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-17\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-05-27\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-08-15\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-10-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Nationalfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-11-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Allerheiligen\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-08\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Mariä Empfängnis\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-25\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christtag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-12-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Stefanitag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Neujahr\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-01-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Heilige Drei Könige\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-04-18\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Ostermontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Staatsfeiertag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-05-26\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Christi Himmelfahrt\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-06\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Pfingstmontag\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-06-16\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Fronleichnam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2023-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2024-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2025-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2027-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2028-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2029-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2030-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2031-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2032-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationBusinessCalendarHolidaysHolidayArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2033-07-31\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Reini Day\"),\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\tsubtract, err := dynatrace.NewAutomationSchedulingRule(ctx, \"subtract\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2029-07-31\"),\n\t\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\t\tInterval: pulumi.Int(1),\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcomba, err := dynatrace.NewAutomationSchedulingRule(ctx, \"comba\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\t\tInterval: pulumi.Int(1),\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcombb, err := dynatrace.NewAutomationSchedulingRule(ctx, \"combb\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\t\tInterval: pulumi.Int(1),\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tintersect, err := dynatrace.NewAutomationSchedulingRule(ctx, \"intersect\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tBusinessCalendar: calendar.ID(),\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tRecurrence: \u0026dynatrace.AutomationSchedulingRuleRecurrenceArgs{\n\t\t\t\tDatestart: pulumi.String(\"2023-07-31\"),\n\t\t\t\tFrequency: pulumi.String(\"DAILY\"),\n\t\t\t\tInterval: pulumi.Int(1),\n\t\t\t\tWorkdays: pulumi.String(\"WORKING\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewAutomationSchedulingRule(ctx, \"#name#\", \u0026dynatrace.AutomationSchedulingRuleArgs{\n\t\t\tTitle: pulumi.String(\"#name#\"),\n\t\t\tGrouping: \u0026dynatrace.AutomationSchedulingRuleGroupingArgs{\n\t\t\t\tCombines: pulumi.StringArray{\n\t\t\t\t\tcomba.ID(),\n\t\t\t\t\tcombb.ID(),\n\t\t\t\t},\n\t\t\t\tIntersects: pulumi.StringArray{\n\t\t\t\t\tintersect.ID(),\n\t\t\t\t},\n\t\t\t\tSubtracts: pulumi.StringArray{\n\t\t\t\t\tsubtract.ID(),\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.dynatrace.AutomationBusinessCalendar;\nimport com.pulumi.dynatrace.AutomationBusinessCalendarArgs;\nimport com.pulumi.dynatrace.inputs.AutomationBusinessCalendarHolidaysArgs;\nimport com.pulumi.dynatrace.AutomationSchedulingRule;\nimport com.pulumi.dynatrace.AutomationSchedulingRuleArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleRecurrenceArgs;\nimport com.pulumi.dynatrace.inputs.AutomationSchedulingRuleGroupingArgs;\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 calendar = new AutomationBusinessCalendar(\"calendar\", AutomationBusinessCalendarArgs.builder()\n .description(\"#name#\")\n .title(\"#name#\")\n .validFrom(\"2023-07-31\")\n .validTo(\"2033-07-31\")\n .weekDays( \n 1,\n 2,\n 3,\n 4,\n 5)\n .weekStart(1)\n .holidays(AutomationBusinessCalendarHolidaysArgs.builder()\n .holidays( \n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-04-01\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-09\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-20\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-05-30\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-04-21\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-05-29\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-09\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-06-19\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-04-06\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-14\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-05-25\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-06-04\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-04-17\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-05-25\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-05\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-06-15\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-04-02\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-10\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-21\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-05-31\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-04-22\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-05-30\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-10\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-06-20\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-04-14\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-05-22\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-02\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-06-12\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-03-29\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-06\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-17\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-05-27\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-08-15\")\n .title(\"Mariä Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-10-26\")\n .title(\"Nationalfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-11-01\")\n .title(\"Allerheiligen\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-08\")\n .title(\"Mariä Empfängnis\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-25\")\n .title(\"Christtag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-12-26\")\n .title(\"Stefanitag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-01\")\n .title(\"Neujahr\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-01-06\")\n .title(\"Heilige Drei Könige\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-04-18\")\n .title(\"Ostermontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-01\")\n .title(\"Staatsfeiertag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-05-26\")\n .title(\"Christi Himmelfahrt\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-06\")\n .title(\"Pfingstmontag\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-06-16\")\n .title(\"Fronleichnam\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2023-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2024-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2025-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2026-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2027-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2028-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2029-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2030-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2031-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2032-07-31\")\n .title(\"Reini Day\")\n .build(),\n AutomationBusinessCalendarHolidaysHolidayArgs.builder()\n .date(\"2033-07-31\")\n .title(\"Reini Day\")\n .build())\n .build())\n .build());\n\n var subtract = new AutomationSchedulingRule(\"subtract\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2029-07-31\")\n .frequency(\"DAILY\")\n .interval(1)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var comba = new AutomationSchedulingRule(\"comba\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .frequency(\"DAILY\")\n .interval(1)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var combb = new AutomationSchedulingRule(\"combb\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .frequency(\"DAILY\")\n .interval(1)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var intersect = new AutomationSchedulingRule(\"intersect\", AutomationSchedulingRuleArgs.builder()\n .businessCalendar(calendar.id())\n .title(\"#name#\")\n .recurrence(AutomationSchedulingRuleRecurrenceArgs.builder()\n .datestart(\"2023-07-31\")\n .frequency(\"DAILY\")\n .interval(1)\n .workdays(\"WORKING\")\n .build())\n .build());\n\n var _name_ = new AutomationSchedulingRule(\"#name#\", AutomationSchedulingRuleArgs.builder()\n .title(\"#name#\")\n .grouping(AutomationSchedulingRuleGroupingArgs.builder()\n .combines( \n comba.id(),\n combb.id())\n .intersects(intersect.id())\n .subtracts(subtract.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n calendar:\n type: dynatrace:AutomationBusinessCalendar\n properties:\n description: '#name#'\n title: '#name#'\n validFrom: 2023-07-31\n validTo: 2033-07-31\n weekDays:\n - 1\n - 2\n - 3\n - 4\n - 5\n weekStart: 1\n holidays:\n holidays:\n - date: 2023-08-15\n title: Mariä Himmelfahrt\n - date: 2023-10-26\n title: Nationalfeiertag\n - date: 2023-11-01\n title: Allerheiligen\n - date: 2023-12-08\n title: Mariä Empfängnis\n - date: 2023-12-25\n title: Christtag\n - date: 2023-12-26\n title: Stefanitag\n - date: 2024-01-01\n title: Neujahr\n - date: 2024-01-06\n title: Heilige Drei Könige\n - date: 2024-04-01\n title: Ostermontag\n - date: 2024-05-01\n title: Staatsfeiertag\n - date: 2024-05-09\n title: Christi Himmelfahrt\n - date: 2024-05-20\n title: Pfingstmontag\n - date: 2024-05-30\n title: Fronleichnam\n - date: 2024-08-15\n title: Mariä Himmelfahrt\n - date: 2024-10-26\n title: Nationalfeiertag\n - date: 2024-11-01\n title: Allerheiligen\n - date: 2024-12-08\n title: Mariä Empfängnis\n - date: 2024-12-25\n title: Christtag\n - date: 2024-12-26\n title: Stefanitag\n - date: 2025-01-01\n title: Neujahr\n - date: 2025-01-06\n title: Heilige Drei Könige\n - date: 2025-04-21\n title: Ostermontag\n - date: 2025-05-01\n title: Staatsfeiertag\n - date: 2025-05-29\n title: Christi Himmelfahrt\n - date: 2025-06-09\n title: Pfingstmontag\n - date: 2025-06-19\n title: Fronleichnam\n - date: 2025-08-15\n title: Mariä Himmelfahrt\n - date: 2025-10-26\n title: Nationalfeiertag\n - date: 2025-11-01\n title: Allerheiligen\n - date: 2025-12-08\n title: Mariä Empfängnis\n - date: 2025-12-25\n title: Christtag\n - date: 2025-12-26\n title: Stefanitag\n - date: 2026-01-01\n title: Neujahr\n - date: 2026-01-06\n title: Heilige Drei Könige\n - date: 2026-04-06\n title: Ostermontag\n - date: 2026-05-01\n title: Staatsfeiertag\n - date: 2026-05-14\n title: Christi Himmelfahrt\n - date: 2026-05-25\n title: Pfingstmontag\n - date: 2026-06-04\n title: Fronleichnam\n - date: 2026-08-15\n title: Mariä Himmelfahrt\n - date: 2026-10-26\n title: Nationalfeiertag\n - date: 2026-11-01\n title: Allerheiligen\n - date: 2026-12-08\n title: Mariä Empfängnis\n - date: 2026-12-25\n title: Christtag\n - date: 2026-12-26\n title: Stefanitag\n - date: 2027-01-01\n title: Neujahr\n - date: 2027-01-06\n title: Heilige Drei Könige\n - date: 2027-03-29\n title: Ostermontag\n - date: 2027-05-01\n title: Staatsfeiertag\n - date: 2027-05-06\n title: Christi Himmelfahrt\n - date: 2027-05-17\n title: Pfingstmontag\n - date: 2027-05-27\n title: Fronleichnam\n - date: 2027-08-15\n title: Mariä Himmelfahrt\n - date: 2027-10-26\n title: Nationalfeiertag\n - date: 2027-11-01\n title: Allerheiligen\n - date: 2027-12-08\n title: Mariä Empfängnis\n - date: 2027-12-25\n title: Christtag\n - date: 2027-12-26\n title: Stefanitag\n - date: 2028-01-01\n title: Neujahr\n - date: 2028-01-06\n title: Heilige Drei Könige\n - date: 2028-04-17\n title: Ostermontag\n - date: 2028-05-01\n title: Staatsfeiertag\n - date: 2028-05-25\n title: Christi Himmelfahrt\n - date: 2028-06-05\n title: Pfingstmontag\n - date: 2028-06-15\n title: Fronleichnam\n - date: 2028-08-15\n title: Mariä Himmelfahrt\n - date: 2028-10-26\n title: Nationalfeiertag\n - date: 2028-11-01\n title: Allerheiligen\n - date: 2028-12-08\n title: Mariä Empfängnis\n - date: 2028-12-25\n title: Christtag\n - date: 2028-12-26\n title: Stefanitag\n - date: 2029-01-01\n title: Neujahr\n - date: 2029-01-06\n title: Heilige Drei Könige\n - date: 2029-04-02\n title: Ostermontag\n - date: 2029-05-01\n title: Staatsfeiertag\n - date: 2029-05-10\n title: Christi Himmelfahrt\n - date: 2029-05-21\n title: Pfingstmontag\n - date: 2029-05-31\n title: Fronleichnam\n - date: 2029-08-15\n title: Mariä Himmelfahrt\n - date: 2029-10-26\n title: Nationalfeiertag\n - date: 2029-11-01\n title: Allerheiligen\n - date: 2029-12-08\n title: Mariä Empfängnis\n - date: 2029-12-25\n title: Christtag\n - date: 2029-12-26\n title: Stefanitag\n - date: 2030-01-01\n title: Neujahr\n - date: 2030-01-06\n title: Heilige Drei Könige\n - date: 2030-04-22\n title: Ostermontag\n - date: 2030-05-01\n title: Staatsfeiertag\n - date: 2030-05-30\n title: Christi Himmelfahrt\n - date: 2030-06-10\n title: Pfingstmontag\n - date: 2030-06-20\n title: Fronleichnam\n - date: 2030-08-15\n title: Mariä Himmelfahrt\n - date: 2030-10-26\n title: Nationalfeiertag\n - date: 2030-11-01\n title: Allerheiligen\n - date: 2030-12-08\n title: Mariä Empfängnis\n - date: 2030-12-25\n title: Christtag\n - date: 2030-12-26\n title: Stefanitag\n - date: 2031-01-01\n title: Neujahr\n - date: 2031-01-06\n title: Heilige Drei Könige\n - date: 2031-04-14\n title: Ostermontag\n - date: 2031-05-01\n title: Staatsfeiertag\n - date: 2031-05-22\n title: Christi Himmelfahrt\n - date: 2031-06-02\n title: Pfingstmontag\n - date: 2031-06-12\n title: Fronleichnam\n - date: 2031-08-15\n title: Mariä Himmelfahrt\n - date: 2031-10-26\n title: Nationalfeiertag\n - date: 2031-11-01\n title: Allerheiligen\n - date: 2031-12-08\n title: Mariä Empfängnis\n - date: 2031-12-25\n title: Christtag\n - date: 2031-12-26\n title: Stefanitag\n - date: 2032-01-01\n title: Neujahr\n - date: 2032-01-06\n title: Heilige Drei Könige\n - date: 2032-03-29\n title: Ostermontag\n - date: 2032-05-01\n title: Staatsfeiertag\n - date: 2032-05-06\n title: Christi Himmelfahrt\n - date: 2032-05-17\n title: Pfingstmontag\n - date: 2032-05-27\n title: Fronleichnam\n - date: 2032-08-15\n title: Mariä Himmelfahrt\n - date: 2032-10-26\n title: Nationalfeiertag\n - date: 2032-11-01\n title: Allerheiligen\n - date: 2032-12-08\n title: Mariä Empfängnis\n - date: 2032-12-25\n title: Christtag\n - date: 2032-12-26\n title: Stefanitag\n - date: 2033-01-01\n title: Neujahr\n - date: 2033-01-06\n title: Heilige Drei Könige\n - date: 2033-04-18\n title: Ostermontag\n - date: 2033-05-01\n title: Staatsfeiertag\n - date: 2033-05-26\n title: Christi Himmelfahrt\n - date: 2033-06-06\n title: Pfingstmontag\n - date: 2033-06-16\n title: Fronleichnam\n - date: 2023-07-31\n title: Reini Day\n - date: 2024-07-31\n title: Reini Day\n - date: 2025-07-31\n title: Reini Day\n - date: 2026-07-31\n title: Reini Day\n - date: 2027-07-31\n title: Reini Day\n - date: 2028-07-31\n title: Reini Day\n - date: 2029-07-31\n title: Reini Day\n - date: 2030-07-31\n title: Reini Day\n - date: 2031-07-31\n title: Reini Day\n - date: 2032-07-31\n title: Reini Day\n - date: 2033-07-31\n title: Reini Day\n subtract:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2029-07-31\n frequency: DAILY\n interval: 1\n workdays: WORKING\n comba:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n frequency: DAILY\n interval: 1\n workdays: WORKING\n combb:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n frequency: DAILY\n interval: 1\n workdays: WORKING\n intersect:\n type: dynatrace:AutomationSchedulingRule\n properties:\n businessCalendar: ${calendar.id}\n title: '#name#'\n recurrence:\n datestart: 2023-07-31\n frequency: DAILY\n interval: 1\n workdays: WORKING\n '#name#':\n type: dynatrace:AutomationSchedulingRule\n properties:\n title: '#name#'\n grouping:\n combines:\n - ${comba.id}\n - ${combb.id}\n intersects:\n - ${intersect.id}\n subtracts:\n - ${subtract.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -45654,7 +45834,7 @@ } }, "dynatrace:index/automationWorkflow:AutomationWorkflow": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **View workflows** (`automation:workflows:read`) and **Create and edit workflows** (`automation:workflows:write`).\n\n\u003e This resource is excluded by default in the export utility, please explicitly specify the resource to retrieve existing configuration.\n\n## Dynatrace Documentation\n\n- Dynatrace Workflows - https://www.dynatrace.com/support/help/platform-modules/cloud-automation/workflows\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst sampleWorklowTF = new dynatrace.AutomationWorkflow(\"sampleWorklowTF\", {\n description: \"Desc\",\n actor: \"########-####-####-####-############\",\n title: \"Sample Worklow TF1\",\n owner: \"########-####-####-####-############\",\n \"private\": true,\n tasks: {\n tasks: [\n {\n name: \"http_request_1\",\n description: \"Issue an HTTP request to any API\",\n action: \"dynatrace.automations:http-function\",\n active: true,\n input: JSON.stringify({\n method: \"GET\",\n url: \"https://www.google.at/\",\n }),\n position: {\n x: 0,\n y: 1,\n },\n },\n {\n name: \"http_request_2\",\n description: \"Issue an HTTP request to any API\",\n action: \"dynatrace.automations:http-function\",\n active: false,\n input: JSON.stringify({\n method: \"GET\",\n url: \"https://www.second-task.com/\",\n }),\n conditions: {\n states: {\n http_request_1: \"SUCCESS\",\n run_javascript_1: \"OK\",\n },\n custom: \"\",\n },\n position: {\n x: -1,\n y: 2,\n },\n timeout: \"50000\",\n },\n {\n name: \"http_request_3\",\n description: \"Issue an HTTP request to any API\",\n action: \"dynatrace.automations:http-function\",\n active: false,\n input: JSON.stringify({\n method: \"GET\",\n url: \"https://www.third-task.com\",\n }),\n conditions: {\n states: {\n http_request_2: \"OK\",\n },\n custom: \"{{http_request_1}}\",\n },\n position: {\n x: 0,\n y: 3,\n },\n },\n {\n name: \"run_javascript_1\",\n description: \"Build a custom task running js Code\",\n action: \"dynatrace.automations:run-javascript\",\n active: false,\n input: JSON.stringify({\n script: `// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}`,\n }),\n position: {\n x: -2,\n y: 1,\n },\n },\n ],\n },\n trigger: {\n event: {\n active: false,\n config: {\n davisEvent: {\n entityTagsMatch: \"all\",\n entityTags: {\n asdf: \"\",\n },\n onProblemClose: false,\n types: [\"CUSTOM_ANNOTATION\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumiverse_dynatrace as dynatrace\n\nsample_worklow_tf = dynatrace.AutomationWorkflow(\"sampleWorklowTF\",\n description=\"Desc\",\n actor=\"########-####-####-####-############\",\n title=\"Sample Worklow TF1\",\n owner=\"########-####-####-####-############\",\n private=True,\n tasks={\n \"tasks\": [\n {\n \"name\": \"http_request_1\",\n \"description\": \"Issue an HTTP request to any API\",\n \"action\": \"dynatrace.automations:http-function\",\n \"active\": True,\n \"input\": json.dumps({\n \"method\": \"GET\",\n \"url\": \"https://www.google.at/\",\n }),\n \"position\": {\n \"x\": 0,\n \"y\": 1,\n },\n },\n {\n \"name\": \"http_request_2\",\n \"description\": \"Issue an HTTP request to any API\",\n \"action\": \"dynatrace.automations:http-function\",\n \"active\": False,\n \"input\": json.dumps({\n \"method\": \"GET\",\n \"url\": \"https://www.second-task.com/\",\n }),\n \"conditions\": {\n \"states\": {\n \"http_request_1\": \"SUCCESS\",\n \"run_javascript_1\": \"OK\",\n },\n \"custom\": \"\",\n },\n \"position\": {\n \"x\": -1,\n \"y\": 2,\n },\n \"timeout\": \"50000\",\n },\n {\n \"name\": \"http_request_3\",\n \"description\": \"Issue an HTTP request to any API\",\n \"action\": \"dynatrace.automations:http-function\",\n \"active\": False,\n \"input\": json.dumps({\n \"method\": \"GET\",\n \"url\": \"https://www.third-task.com\",\n }),\n \"conditions\": {\n \"states\": {\n \"http_request_2\": \"OK\",\n },\n \"custom\": \"{{http_request_1}}\",\n },\n \"position\": {\n \"x\": 0,\n \"y\": 3,\n },\n },\n {\n \"name\": \"run_javascript_1\",\n \"description\": \"Build a custom task running js Code\",\n \"action\": \"dynatrace.automations:run-javascript\",\n \"active\": False,\n \"input\": json.dumps({\n \"script\": \"\"\"// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}\"\"\",\n }),\n \"position\": {\n \"x\": -2,\n \"y\": 1,\n },\n },\n ],\n },\n trigger={\n \"event\": {\n \"active\": False,\n \"config\": {\n \"davis_event\": {\n \"entity_tags_match\": \"all\",\n \"entity_tags\": {\n \"asdf\": \"\",\n },\n \"on_problem_close\": False,\n \"types\": [\"CUSTOM_ANNOTATION\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sampleWorklowTF = new Dynatrace.AutomationWorkflow(\"sampleWorklowTF\", new()\n {\n Description = \"Desc\",\n Actor = \"########-####-####-####-############\",\n Title = \"Sample Worklow TF1\",\n Owner = \"########-####-####-####-############\",\n Private = true,\n Tasks = new Dynatrace.Inputs.AutomationWorkflowTasksArgs\n {\n Tasks = new[]\n {\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"http_request_1\",\n Description = \"Issue an HTTP request to any API\",\n Action = \"dynatrace.automations:http-function\",\n Active = true,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"method\"] = \"GET\",\n [\"url\"] = \"https://www.google.at/\",\n }),\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = 0,\n Y = 1,\n },\n },\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"http_request_2\",\n Description = \"Issue an HTTP request to any API\",\n Action = \"dynatrace.automations:http-function\",\n Active = false,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"method\"] = \"GET\",\n [\"url\"] = \"https://www.second-task.com/\",\n }),\n Conditions = new Dynatrace.Inputs.AutomationWorkflowTasksTaskConditionsArgs\n {\n States = \n {\n { \"http_request_1\", \"SUCCESS\" },\n { \"run_javascript_1\", \"OK\" },\n },\n Custom = \"\",\n },\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = -1,\n Y = 2,\n },\n Timeout = \"50000\",\n },\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"http_request_3\",\n Description = \"Issue an HTTP request to any API\",\n Action = \"dynatrace.automations:http-function\",\n Active = false,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"method\"] = \"GET\",\n [\"url\"] = \"https://www.third-task.com\",\n }),\n Conditions = new Dynatrace.Inputs.AutomationWorkflowTasksTaskConditionsArgs\n {\n States = \n {\n { \"http_request_2\", \"OK\" },\n },\n Custom = \"{{http_request_1}}\",\n },\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = 0,\n Y = 3,\n },\n },\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"run_javascript_1\",\n Description = \"Build a custom task running js Code\",\n Action = \"dynatrace.automations:run-javascript\",\n Active = false,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"script\"] = @\"// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}\",\n }),\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = -2,\n Y = 1,\n },\n },\n },\n },\n Trigger = new Dynatrace.Inputs.AutomationWorkflowTriggerArgs\n {\n Event = new Dynatrace.Inputs.AutomationWorkflowTriggerEventArgs\n {\n Active = false,\n Config = new Dynatrace.Inputs.AutomationWorkflowTriggerEventConfigArgs\n {\n DavisEvent = new Dynatrace.Inputs.AutomationWorkflowTriggerEventConfigDavisEventArgs\n {\n EntityTagsMatch = \"all\",\n EntityTags = \n {\n { \"asdf\", \"\" },\n },\n OnProblemClose = false,\n Types = new[]\n {\n \"CUSTOM_ANNOTATION\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"method\": \"GET\",\n\t\t\t\"url\": \"https://www.google.at/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"method\": \"GET\",\n\t\t\t\"url\": \"https://www.second-task.com/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"method\": \"GET\",\n\t\t\t\"url\": \"https://www.third-task.com\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"script\": `// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}`,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\t_, err = dynatrace.NewAutomationWorkflow(ctx, \"sampleWorklowTF\", \u0026dynatrace.AutomationWorkflowArgs{\n\t\t\tDescription: pulumi.String(\"Desc\"),\n\t\t\tActor: pulumi.String(\"########-####-####-####-############\"),\n\t\t\tTitle: pulumi.String(\"Sample Worklow TF1\"),\n\t\t\tOwner: pulumi.String(\"########-####-####-####-############\"),\n\t\t\tPrivate: pulumi.Bool(true),\n\t\t\tTasks: \u0026dynatrace.AutomationWorkflowTasksArgs{\n\t\t\t\tTasks: dynatrace.AutomationWorkflowTasksTaskArray{\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"http_request_1\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Issue an HTTP request to any API\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:http-function\"),\n\t\t\t\t\t\tActive: pulumi.Bool(true),\n\t\t\t\t\t\tInput: pulumi.String(json0),\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\t\tY: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"http_request_2\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Issue an HTTP request to any API\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:http-function\"),\n\t\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\t\tInput: pulumi.String(json1),\n\t\t\t\t\t\tConditions: \u0026dynatrace.AutomationWorkflowTasksTaskConditionsArgs{\n\t\t\t\t\t\t\tStates: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"http_request_1\": pulumi.String(\"SUCCESS\"),\n\t\t\t\t\t\t\t\t\"run_javascript_1\": pulumi.String(\"OK\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCustom: pulumi.String(\"\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(-1),\n\t\t\t\t\t\t\tY: pulumi.Int(2),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeout: pulumi.String(\"50000\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"http_request_3\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Issue an HTTP request to any API\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:http-function\"),\n\t\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\t\tInput: pulumi.String(json2),\n\t\t\t\t\t\tConditions: \u0026dynatrace.AutomationWorkflowTasksTaskConditionsArgs{\n\t\t\t\t\t\t\tStates: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"http_request_2\": pulumi.String(\"OK\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCustom: pulumi.String(\"{{http_request_1}}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\t\tY: pulumi.Int(3),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"run_javascript_1\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Build a custom task running js Code\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:run-javascript\"),\n\t\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\t\tInput: pulumi.String(json3),\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(-2),\n\t\t\t\t\t\t\tY: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrigger: \u0026dynatrace.AutomationWorkflowTriggerArgs{\n\t\t\t\tEvent: \u0026dynatrace.AutomationWorkflowTriggerEventArgs{\n\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\tConfig: \u0026dynatrace.AutomationWorkflowTriggerEventConfigArgs{\n\t\t\t\t\t\tDavisEvent: \u0026dynatrace.AutomationWorkflowTriggerEventConfigDavisEventArgs{\n\t\t\t\t\t\t\tEntityTagsMatch: pulumi.String(\"all\"),\n\t\t\t\t\t\t\tEntityTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"asdf\": pulumi.String(\"\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOnProblemClose: pulumi.Bool(false),\n\t\t\t\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CUSTOM_ANNOTATION\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.AutomationWorkflow;\nimport com.pulumi.dynatrace.AutomationWorkflowArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTasksArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerEventArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerEventConfigArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerEventConfigDavisEventArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sampleWorklowTF = new AutomationWorkflow(\"sampleWorklowTF\", AutomationWorkflowArgs.builder()\n .description(\"Desc\")\n .actor(\"########-####-####-####-############\")\n .title(\"Sample Worklow TF1\")\n .owner(\"########-####-####-####-############\")\n .private_(true)\n .tasks(AutomationWorkflowTasksArgs.builder()\n .tasks( \n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"http_request_1\")\n .description(\"Issue an HTTP request to any API\")\n .action(\"dynatrace.automations:http-function\")\n .active(true)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"method\", \"GET\"),\n jsonProperty(\"url\", \"https://www.google.at/\")\n )))\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(0)\n .y(1)\n .build())\n .build(),\n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"http_request_2\")\n .description(\"Issue an HTTP request to any API\")\n .action(\"dynatrace.automations:http-function\")\n .active(false)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"method\", \"GET\"),\n jsonProperty(\"url\", \"https://www.second-task.com/\")\n )))\n .conditions(AutomationWorkflowTasksTaskConditionsArgs.builder()\n .states(Map.ofEntries(\n Map.entry(\"http_request_1\", \"SUCCESS\"),\n Map.entry(\"run_javascript_1\", \"OK\")\n ))\n .custom(\"\")\n .build())\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(-1)\n .y(2)\n .build())\n .timeout(50000)\n .build(),\n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"http_request_3\")\n .description(\"Issue an HTTP request to any API\")\n .action(\"dynatrace.automations:http-function\")\n .active(false)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"method\", \"GET\"),\n jsonProperty(\"url\", \"https://www.third-task.com\")\n )))\n .conditions(AutomationWorkflowTasksTaskConditionsArgs.builder()\n .states(Map.of(\"http_request_2\", \"OK\"))\n .custom(\"{{http_request_1}}\")\n .build())\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(0)\n .y(3)\n .build())\n .build(),\n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"run_javascript_1\")\n .description(\"Build a custom task running js Code\")\n .action(\"dynatrace.automations:run-javascript\")\n .active(false)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"script\", \"\"\"\n// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n} \"\"\")\n )))\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(-2)\n .y(1)\n .build())\n .build())\n .build())\n .trigger(AutomationWorkflowTriggerArgs.builder()\n .event(AutomationWorkflowTriggerEventArgs.builder()\n .active(false)\n .config(AutomationWorkflowTriggerEventConfigArgs.builder()\n .davisEvent(AutomationWorkflowTriggerEventConfigDavisEventArgs.builder()\n .entityTagsMatch(\"all\")\n .entityTags(Map.of(\"asdf\", \"\"))\n .onProblemClose(false)\n .types(\"CUSTOM_ANNOTATION\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sampleWorklowTF:\n type: dynatrace:AutomationWorkflow\n properties:\n description: Desc\n actor: '########-####-####-####-############'\n title: Sample Worklow TF1\n owner: '########-####-####-####-############'\n private: true\n tasks:\n tasks:\n - name: http_request_1\n description: Issue an HTTP request to any API\n action: dynatrace.automations:http-function\n active: true\n input:\n fn::toJSON:\n method: GET\n url: https://www.google.at/\n position:\n x: 0\n y: 1\n - name: http_request_2\n description: Issue an HTTP request to any API\n action: dynatrace.automations:http-function\n active: false\n input:\n fn::toJSON:\n method: GET\n url: https://www.second-task.com/\n conditions:\n states:\n http_request_1: SUCCESS\n run_javascript_1: OK\n custom:\n position:\n x: -1\n y: 2\n timeout: 50000\n - name: http_request_3\n description: Issue an HTTP request to any API\n action: dynatrace.automations:http-function\n active: false\n input:\n fn::toJSON:\n method: GET\n url: https://www.third-task.com\n conditions:\n states:\n http_request_2: OK\n custom: '{{http_request_1}}'\n position:\n x: 0\n y: 3\n - name: run_javascript_1\n description: Build a custom task running js Code\n action: dynatrace.automations:run-javascript\n active: false\n input:\n fn::toJSON:\n script: \"// optional import of sdk modules\\nimport { execution } from '@dynatrace-sdk/automation-utils';\\n\\nexport default async function ({ execution_id }) {\\n // your code goes here\\n // e.g. get the current execution\\n const ex = await execution(execution_id);\\n console.log('Automated script execution on behalf of', ex.trigger);\\n \\n return { triggeredBy: ex.trigger };\\n}\"\n position:\n x: -2\n y: 1\n trigger:\n event:\n active: false\n config:\n davisEvent:\n entityTagsMatch: all\n entityTags:\n asdf:\n onProblemClose: false\n types:\n - CUSTOM_ANNOTATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **View workflows** (`automation:workflows:read`) and **Create and edit workflows** (`automation:workflows:write`).\n\n\u003e This resource is excluded by default in the export utility, please explicitly specify the resource to retrieve existing configuration.\n\n## Dynatrace Documentation\n\n- Dynatrace Workflows - https://www.dynatrace.com/support/help/platform-modules/cloud-automation/workflows\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst sampleWorklowTF = new dynatrace.AutomationWorkflow(\"sampleWorklowTF\", {\n description: \"Desc\",\n actor: \"########-####-####-####-############\",\n title: \"Sample Worklow TF1\",\n owner: \"########-####-####-####-############\",\n \"private\": true,\n tasks: {\n tasks: [\n {\n name: \"http_request_1\",\n description: \"Issue an HTTP request to any API\",\n action: \"dynatrace.automations:http-function\",\n active: true,\n input: JSON.stringify({\n method: \"GET\",\n url: \"https://www.google.at/\",\n }),\n position: {\n x: 0,\n y: 1,\n },\n },\n {\n name: \"http_request_2\",\n description: \"Issue an HTTP request to any API\",\n action: \"dynatrace.automations:http-function\",\n active: false,\n input: JSON.stringify({\n method: \"GET\",\n url: \"https://www.second-task.com/\",\n }),\n conditions: {\n states: {\n http_request_1: \"SUCCESS\",\n run_javascript_1: \"OK\",\n },\n custom: \"\",\n },\n position: {\n x: -1,\n y: 2,\n },\n timeout: \"50000\",\n },\n {\n name: \"http_request_3\",\n description: \"Issue an HTTP request to any API\",\n action: \"dynatrace.automations:http-function\",\n active: false,\n input: JSON.stringify({\n method: \"GET\",\n url: \"https://www.third-task.com\",\n }),\n conditions: {\n states: {\n http_request_2: \"OK\",\n },\n custom: \"{{http_request_1}}\",\n },\n position: {\n x: 0,\n y: 3,\n },\n },\n {\n name: \"run_javascript_1\",\n description: \"Build a custom task running js Code\",\n action: \"dynatrace.automations:run-javascript\",\n active: false,\n input: JSON.stringify({\n script: `// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}`,\n }),\n position: {\n x: -2,\n y: 1,\n },\n },\n ],\n },\n trigger: {\n event: {\n active: false,\n config: {\n davisEvent: {\n entityTagsMatch: \"all\",\n entityTags: {\n asdf: \"\",\n },\n onProblemClose: false,\n types: [\"CUSTOM_ANNOTATION\"],\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumiverse_dynatrace as dynatrace\n\nsample_worklow_tf = dynatrace.AutomationWorkflow(\"sampleWorklowTF\",\n description=\"Desc\",\n actor=\"########-####-####-####-############\",\n title=\"Sample Worklow TF1\",\n owner=\"########-####-####-####-############\",\n private=True,\n tasks={\n \"tasks\": [\n {\n \"name\": \"http_request_1\",\n \"description\": \"Issue an HTTP request to any API\",\n \"action\": \"dynatrace.automations:http-function\",\n \"active\": True,\n \"input\": json.dumps({\n \"method\": \"GET\",\n \"url\": \"https://www.google.at/\",\n }),\n \"position\": {\n \"x\": 0,\n \"y\": 1,\n },\n },\n {\n \"name\": \"http_request_2\",\n \"description\": \"Issue an HTTP request to any API\",\n \"action\": \"dynatrace.automations:http-function\",\n \"active\": False,\n \"input\": json.dumps({\n \"method\": \"GET\",\n \"url\": \"https://www.second-task.com/\",\n }),\n \"conditions\": {\n \"states\": {\n \"http_request_1\": \"SUCCESS\",\n \"run_javascript_1\": \"OK\",\n },\n \"custom\": \"\",\n },\n \"position\": {\n \"x\": -1,\n \"y\": 2,\n },\n \"timeout\": \"50000\",\n },\n {\n \"name\": \"http_request_3\",\n \"description\": \"Issue an HTTP request to any API\",\n \"action\": \"dynatrace.automations:http-function\",\n \"active\": False,\n \"input\": json.dumps({\n \"method\": \"GET\",\n \"url\": \"https://www.third-task.com\",\n }),\n \"conditions\": {\n \"states\": {\n \"http_request_2\": \"OK\",\n },\n \"custom\": \"{{http_request_1}}\",\n },\n \"position\": {\n \"x\": 0,\n \"y\": 3,\n },\n },\n {\n \"name\": \"run_javascript_1\",\n \"description\": \"Build a custom task running js Code\",\n \"action\": \"dynatrace.automations:run-javascript\",\n \"active\": False,\n \"input\": json.dumps({\n \"script\": \"\"\"// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}\"\"\",\n }),\n \"position\": {\n \"x\": -2,\n \"y\": 1,\n },\n },\n ],\n },\n trigger={\n \"event\": {\n \"active\": False,\n \"config\": {\n \"davis_event\": {\n \"entity_tags_match\": \"all\",\n \"entity_tags\": {\n \"asdf\": \"\",\n },\n \"on_problem_close\": False,\n \"types\": [\"CUSTOM_ANNOTATION\"],\n },\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sampleWorklowTF = new Dynatrace.AutomationWorkflow(\"sampleWorklowTF\", new()\n {\n Description = \"Desc\",\n Actor = \"########-####-####-####-############\",\n Title = \"Sample Worklow TF1\",\n Owner = \"########-####-####-####-############\",\n Private = true,\n Tasks = new Dynatrace.Inputs.AutomationWorkflowTasksArgs\n {\n Tasks = new[]\n {\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"http_request_1\",\n Description = \"Issue an HTTP request to any API\",\n Action = \"dynatrace.automations:http-function\",\n Active = true,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"method\"] = \"GET\",\n [\"url\"] = \"https://www.google.at/\",\n }),\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = 0,\n Y = 1,\n },\n },\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"http_request_2\",\n Description = \"Issue an HTTP request to any API\",\n Action = \"dynatrace.automations:http-function\",\n Active = false,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"method\"] = \"GET\",\n [\"url\"] = \"https://www.second-task.com/\",\n }),\n Conditions = new Dynatrace.Inputs.AutomationWorkflowTasksTaskConditionsArgs\n {\n States = \n {\n { \"http_request_1\", \"SUCCESS\" },\n { \"run_javascript_1\", \"OK\" },\n },\n Custom = \"\",\n },\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = -1,\n Y = 2,\n },\n Timeout = \"50000\",\n },\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"http_request_3\",\n Description = \"Issue an HTTP request to any API\",\n Action = \"dynatrace.automations:http-function\",\n Active = false,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"method\"] = \"GET\",\n [\"url\"] = \"https://www.third-task.com\",\n }),\n Conditions = new Dynatrace.Inputs.AutomationWorkflowTasksTaskConditionsArgs\n {\n States = \n {\n { \"http_request_2\", \"OK\" },\n },\n Custom = \"{{http_request_1}}\",\n },\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = 0,\n Y = 3,\n },\n },\n new Dynatrace.Inputs.AutomationWorkflowTasksTaskArgs\n {\n Name = \"run_javascript_1\",\n Description = \"Build a custom task running js Code\",\n Action = \"dynatrace.automations:run-javascript\",\n Active = false,\n Input = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"script\"] = @\"// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}\",\n }),\n Position = new Dynatrace.Inputs.AutomationWorkflowTasksTaskPositionArgs\n {\n X = -2,\n Y = 1,\n },\n },\n },\n },\n Trigger = new Dynatrace.Inputs.AutomationWorkflowTriggerArgs\n {\n Event = new Dynatrace.Inputs.AutomationWorkflowTriggerEventArgs\n {\n Active = false,\n Config = new Dynatrace.Inputs.AutomationWorkflowTriggerEventConfigArgs\n {\n DavisEvent = new Dynatrace.Inputs.AutomationWorkflowTriggerEventConfigDavisEventArgs\n {\n EntityTagsMatch = \"all\",\n EntityTags = \n {\n { \"asdf\", \"\" },\n },\n OnProblemClose = false,\n Types = new[]\n {\n \"CUSTOM_ANNOTATION\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"method\": \"GET\",\n\t\t\t\"url\": \"https://www.google.at/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"method\": \"GET\",\n\t\t\t\"url\": \"https://www.second-task.com/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"method\": \"GET\",\n\t\t\t\"url\": \"https://www.third-task.com\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"script\": `// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n}`,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\t_, err = dynatrace.NewAutomationWorkflow(ctx, \"sampleWorklowTF\", \u0026dynatrace.AutomationWorkflowArgs{\n\t\t\tDescription: pulumi.String(\"Desc\"),\n\t\t\tActor: pulumi.String(\"########-####-####-####-############\"),\n\t\t\tTitle: pulumi.String(\"Sample Worklow TF1\"),\n\t\t\tOwner: pulumi.String(\"########-####-####-####-############\"),\n\t\t\tPrivate: pulumi.Bool(true),\n\t\t\tTasks: \u0026dynatrace.AutomationWorkflowTasksArgs{\n\t\t\t\tTasks: dynatrace.AutomationWorkflowTasksTaskArray{\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"http_request_1\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Issue an HTTP request to any API\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:http-function\"),\n\t\t\t\t\t\tActive: pulumi.Bool(true),\n\t\t\t\t\t\tInput: pulumi.String(json0),\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\t\tY: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"http_request_2\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Issue an HTTP request to any API\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:http-function\"),\n\t\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\t\tInput: pulumi.String(json1),\n\t\t\t\t\t\tConditions: \u0026dynatrace.AutomationWorkflowTasksTaskConditionsArgs{\n\t\t\t\t\t\t\tStates: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"http_request_1\": pulumi.String(\"SUCCESS\"),\n\t\t\t\t\t\t\t\t\"run_javascript_1\": pulumi.String(\"OK\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCustom: pulumi.String(\"\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(-1),\n\t\t\t\t\t\t\tY: pulumi.Int(2),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeout: pulumi.String(\"50000\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"http_request_3\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Issue an HTTP request to any API\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:http-function\"),\n\t\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\t\tInput: pulumi.String(json2),\n\t\t\t\t\t\tConditions: \u0026dynatrace.AutomationWorkflowTasksTaskConditionsArgs{\n\t\t\t\t\t\t\tStates: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"http_request_2\": pulumi.String(\"OK\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCustom: pulumi.String(\"{{http_request_1}}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(0),\n\t\t\t\t\t\t\tY: pulumi.Int(3),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutomationWorkflowTasksTaskArgs{\n\t\t\t\t\t\tName: pulumi.String(\"run_javascript_1\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Build a custom task running js Code\"),\n\t\t\t\t\t\tAction: pulumi.String(\"dynatrace.automations:run-javascript\"),\n\t\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\t\tInput: pulumi.String(json3),\n\t\t\t\t\t\tPosition: \u0026dynatrace.AutomationWorkflowTasksTaskPositionArgs{\n\t\t\t\t\t\t\tX: pulumi.Int(-2),\n\t\t\t\t\t\t\tY: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrigger: \u0026dynatrace.AutomationWorkflowTriggerArgs{\n\t\t\t\tEvent: \u0026dynatrace.AutomationWorkflowTriggerEventArgs{\n\t\t\t\t\tActive: pulumi.Bool(false),\n\t\t\t\t\tConfig: \u0026dynatrace.AutomationWorkflowTriggerEventConfigArgs{\n\t\t\t\t\t\tDavisEvent: \u0026dynatrace.AutomationWorkflowTriggerEventConfigDavisEventArgs{\n\t\t\t\t\t\t\tEntityTagsMatch: pulumi.String(\"all\"),\n\t\t\t\t\t\t\tEntityTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"asdf\": pulumi.String(\"\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOnProblemClose: pulumi.Bool(false),\n\t\t\t\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CUSTOM_ANNOTATION\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.AutomationWorkflow;\nimport com.pulumi.dynatrace.AutomationWorkflowArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTasksArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerEventArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerEventConfigArgs;\nimport com.pulumi.dynatrace.inputs.AutomationWorkflowTriggerEventConfigDavisEventArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sampleWorklowTF = new AutomationWorkflow(\"sampleWorklowTF\", AutomationWorkflowArgs.builder()\n .description(\"Desc\")\n .actor(\"########-####-####-####-############\")\n .title(\"Sample Worklow TF1\")\n .owner(\"########-####-####-####-############\")\n .private_(true)\n .tasks(AutomationWorkflowTasksArgs.builder()\n .tasks( \n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"http_request_1\")\n .description(\"Issue an HTTP request to any API\")\n .action(\"dynatrace.automations:http-function\")\n .active(true)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"method\", \"GET\"),\n jsonProperty(\"url\", \"https://www.google.at/\")\n )))\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(0)\n .y(1)\n .build())\n .build(),\n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"http_request_2\")\n .description(\"Issue an HTTP request to any API\")\n .action(\"dynatrace.automations:http-function\")\n .active(false)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"method\", \"GET\"),\n jsonProperty(\"url\", \"https://www.second-task.com/\")\n )))\n .conditions(AutomationWorkflowTasksTaskConditionsArgs.builder()\n .states(Map.ofEntries(\n Map.entry(\"http_request_1\", \"SUCCESS\"),\n Map.entry(\"run_javascript_1\", \"OK\")\n ))\n .custom(\"\")\n .build())\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(-1)\n .y(2)\n .build())\n .timeout(50000)\n .build(),\n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"http_request_3\")\n .description(\"Issue an HTTP request to any API\")\n .action(\"dynatrace.automations:http-function\")\n .active(false)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"method\", \"GET\"),\n jsonProperty(\"url\", \"https://www.third-task.com\")\n )))\n .conditions(AutomationWorkflowTasksTaskConditionsArgs.builder()\n .states(Map.of(\"http_request_2\", \"OK\"))\n .custom(\"{{http_request_1}}\")\n .build())\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(0)\n .y(3)\n .build())\n .build(),\n AutomationWorkflowTasksTaskArgs.builder()\n .name(\"run_javascript_1\")\n .description(\"Build a custom task running js Code\")\n .action(\"dynatrace.automations:run-javascript\")\n .active(false)\n .input(serializeJson(\n jsonObject(\n jsonProperty(\"script\", \"\"\"\n// optional import of sdk modules\nimport { execution } from '@dynatrace-sdk/automation-utils';\n\nexport default async function ({ execution_id }) {\n // your code goes here\n // e.g. get the current execution\n const ex = await execution(execution_id);\n console.log('Automated script execution on behalf of', ex.trigger);\n \n return { triggeredBy: ex.trigger };\n} \"\"\")\n )))\n .position(AutomationWorkflowTasksTaskPositionArgs.builder()\n .x(-2)\n .y(1)\n .build())\n .build())\n .build())\n .trigger(AutomationWorkflowTriggerArgs.builder()\n .event(AutomationWorkflowTriggerEventArgs.builder()\n .active(false)\n .config(AutomationWorkflowTriggerEventConfigArgs.builder()\n .davisEvent(AutomationWorkflowTriggerEventConfigDavisEventArgs.builder()\n .entityTagsMatch(\"all\")\n .entityTags(Map.of(\"asdf\", \"\"))\n .onProblemClose(false)\n .types(\"CUSTOM_ANNOTATION\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sampleWorklowTF:\n type: dynatrace:AutomationWorkflow\n properties:\n description: Desc\n actor: '########-####-####-####-############'\n title: Sample Worklow TF1\n owner: '########-####-####-####-############'\n private: true\n tasks:\n tasks:\n - name: http_request_1\n description: Issue an HTTP request to any API\n action: dynatrace.automations:http-function\n active: true\n input:\n fn::toJSON:\n method: GET\n url: https://www.google.at/\n position:\n x: 0\n y: 1\n - name: http_request_2\n description: Issue an HTTP request to any API\n action: dynatrace.automations:http-function\n active: false\n input:\n fn::toJSON:\n method: GET\n url: https://www.second-task.com/\n conditions:\n states:\n http_request_1: SUCCESS\n run_javascript_1: OK\n custom: \"\"\n position:\n x: -1\n y: 2\n timeout: 50000\n - name: http_request_3\n description: Issue an HTTP request to any API\n action: dynatrace.automations:http-function\n active: false\n input:\n fn::toJSON:\n method: GET\n url: https://www.third-task.com\n conditions:\n states:\n http_request_2: OK\n custom: '{{http_request_1}}'\n position:\n x: 0\n y: 3\n - name: run_javascript_1\n description: Build a custom task running js Code\n action: dynatrace.automations:run-javascript\n active: false\n input:\n fn::toJSON:\n script: \"// optional import of sdk modules\\nimport { execution } from '@dynatrace-sdk/automation-utils';\\n\\nexport default async function ({ execution_id }) {\\n // your code goes here\\n // e.g. get the current execution\\n const ex = await execution(execution_id);\\n console.log('Automated script execution on behalf of', ex.trigger);\\n \\n return { triggeredBy: ex.trigger };\\n}\"\n position:\n x: -2\n y: 1\n trigger:\n event:\n active: false\n config:\n davisEvent:\n entityTagsMatch: all\n entityTags:\n asdf: \"\"\n onProblemClose: false\n types:\n - CUSTOM_ANNOTATION\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "actor": { "type": "string", @@ -46600,7 +46780,7 @@ } }, "dynatrace:index/awsService:AwsService": { - "description": "\u003e This resource is excluded by default in the export utility.\n\n\u003e This resource requires the API token scopes **Read configuration** (`ReadConfig`) and **Write configuration** (`WriteConfig`)\n\n## Dynatrace Documentation\n\n- Amazon Web Services - https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-cloud-platforms/amazon-web-services/amazon-web-services-integrations/aws-service-metrics\n\n- AWS credentials API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/aws-credentials-api\n\n## Resource Example Usage\n\nThis example utilizes the data source `dynatrace.getAwsSupportedServices` in order to query for a full list of all supported services.\nThe `for_each` loop within the resource `dynatrace.AwsService` configures each of these services to get utilized with the default metrics recommended by Dynatrace (`use_recommended_metrics`).\n\nIf you want to configure a different set of metrics for a specific service, a separate resource `dynatrace.AwsService` will be necessary for that. That allows you to configure the `metric` blocks according to your wishes.\nJust be aware of the fact, that Dynatrace enforces for most services a recommended set of metrics. All of them need to be part of your configuration in order to end up with a non-empty plan.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nexport = async () =\u003e {\n const tERRAFORMSAMPLE = new dynatrace.AwsCredentials(\"tERRAFORMSAMPLE\", {\n label: \"TERRAFORM-TEST-001\",\n partitionType: \"AWS_DEFAULT\",\n taggedOnly: false,\n authenticationData: {\n accountId: \"246186168471\",\n iamRole: \"Dynatrace_monitoring_role_demo1\",\n },\n removeDefaults: true,\n });\n const supportedServices = await dynatrace.getAwsSupportedServices({});\n const tERRAFORMSAMPLEServices: dynatrace.AwsService[] = [];\n for (const range of Object.entries(supportedServices.services).map(([k, v]) =\u003e ({key: k, value: v}))) {\n tERRAFORMSAMPLEServices.push(new dynatrace.AwsService(`tERRAFORMSAMPLEServices-${range.key}`, {\n credentialsId: tERRAFORMSAMPLE.id,\n useRecommendedMetrics: true,\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\nt_erraformsample = dynatrace.AwsCredentials(\"tERRAFORMSAMPLE\",\n label=\"TERRAFORM-TEST-001\",\n partition_type=\"AWS_DEFAULT\",\n tagged_only=False,\n authentication_data={\n \"account_id\": \"246186168471\",\n \"iam_role\": \"Dynatrace_monitoring_role_demo1\",\n },\n remove_defaults=True)\nsupported_services = dynatrace.get_aws_supported_services()\nt_erraformsample_services = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(supported_services.services)]:\n t_erraformsample_services.append(dynatrace.AwsService(f\"tERRAFORMSAMPLEServices-{range['key']}\",\n credentials_id=t_erraformsample.id,\n use_recommended_metrics=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var tERRAFORMSAMPLE = new Dynatrace.AwsCredentials(\"tERRAFORMSAMPLE\", new()\n {\n Label = \"TERRAFORM-TEST-001\",\n PartitionType = \"AWS_DEFAULT\",\n TaggedOnly = false,\n AuthenticationData = new Dynatrace.Inputs.AwsCredentialsAuthenticationDataArgs\n {\n AccountId = \"246186168471\",\n IamRole = \"Dynatrace_monitoring_role_demo1\",\n },\n RemoveDefaults = true,\n });\n\n var supportedServices = await Dynatrace.GetAwsSupportedServices.InvokeAsync();\n\n var tERRAFORMSAMPLEServices = new List\u003cDynatrace.AwsService\u003e();\n foreach (var range in )\n {\n tERRAFORMSAMPLEServices.Add(new Dynatrace.AwsService($\"tERRAFORMSAMPLEServices-{range.Key}\", new()\n {\n CredentialsId = tERRAFORMSAMPLE.Id,\n UseRecommendedMetrics = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttERRAFORMSAMPLE, err := dynatrace.NewAwsCredentials(ctx, \"tERRAFORMSAMPLE\", \u0026dynatrace.AwsCredentialsArgs{\n\t\t\tLabel: pulumi.String(\"TERRAFORM-TEST-001\"),\n\t\t\tPartitionType: pulumi.String(\"AWS_DEFAULT\"),\n\t\t\tTaggedOnly: pulumi.Bool(false),\n\t\t\tAuthenticationData: \u0026dynatrace.AwsCredentialsAuthenticationDataArgs{\n\t\t\t\tAccountId: pulumi.String(\"246186168471\"),\n\t\t\t\tIamRole: pulumi.String(\"Dynatrace_monitoring_role_demo1\"),\n\t\t\t},\n\t\t\tRemoveDefaults: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsupportedServices, err := dynatrace.GetAwsSupportedServices(ctx, \u0026dynatrace.GetAwsSupportedServicesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tERRAFORMSAMPLEServices []*dynatrace.AwsService\n\t\tfor key0, _ := range supportedServices.Services {\n\t\t\t__res, err := dynatrace.NewAwsService(ctx, fmt.Sprintf(\"tERRAFORMSAMPLEServices-%v\", key0), \u0026dynatrace.AwsServiceArgs{\n\t\t\t\tCredentialsId: tERRAFORMSAMPLE.ID(),\n\t\t\t\tUseRecommendedMetrics: pulumi.Bool(true),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttERRAFORMSAMPLEServices = append(tERRAFORMSAMPLEServices, __res)\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.dynatrace.AwsCredentials;\nimport com.pulumi.dynatrace.AwsCredentialsArgs;\nimport com.pulumi.dynatrace.inputs.AwsCredentialsAuthenticationDataArgs;\nimport com.pulumi.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAwsSupportedServicesArgs;\nimport com.pulumi.dynatrace.AwsService;\nimport com.pulumi.dynatrace.AwsServiceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 tERRAFORMSAMPLE = new AwsCredentials(\"tERRAFORMSAMPLE\", AwsCredentialsArgs.builder()\n .label(\"TERRAFORM-TEST-001\")\n .partitionType(\"AWS_DEFAULT\")\n .taggedOnly(false)\n .authenticationData(AwsCredentialsAuthenticationDataArgs.builder()\n .accountId(\"246186168471\")\n .iamRole(\"Dynatrace_monitoring_role_demo1\")\n .build())\n .removeDefaults(true)\n .build());\n\n final var supportedServices = DynatraceFunctions.getAwsSupportedServices();\n\n final var tERRAFORMSAMPLEServices = supportedServices.applyValue(getAwsSupportedServicesResult -\u003e {\n final var resources = new ArrayList\u003cAwsService\u003e();\n for (var range : KeyedValue.of(getAwsSupportedServicesResult.services()) {\n var resource = new AwsService(\"tERRAFORMSAMPLEServices-\" + range.key(), AwsServiceArgs.builder()\n .credentialsId(tERRAFORMSAMPLE.id())\n .useRecommendedMetrics(true)\n .build());\n\n resources.add(resource);\n }\n\n return resources;\n });\n\n }\n}\n```\n```yaml\nresources:\n tERRAFORMSAMPLE:\n type: dynatrace:AwsCredentials\n properties:\n label: TERRAFORM-TEST-001\n partitionType: AWS_DEFAULT\n taggedOnly: false\n authenticationData:\n accountId: '246186168471'\n iamRole: Dynatrace_monitoring_role_demo1\n removeDefaults: true\n tERRAFORMSAMPLEServices:\n type: dynatrace:AwsService\n properties:\n credentialsId: ${tERRAFORMSAMPLE.id}\n useRecommendedMetrics: true\n options: {}\nvariables:\n supportedServices:\n fn::invoke:\n Function: dynatrace:getAwsSupportedServices\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e This resource is excluded by default in the export utility.\n\n\u003e This resource requires the API token scopes **Read configuration** (`ReadConfig`) and **Write configuration** (`WriteConfig`)\n\n## Dynatrace Documentation\n\n- Amazon Web Services - https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-cloud-platforms/amazon-web-services/amazon-web-services-integrations/aws-service-metrics\n\n- AWS credentials API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/aws-credentials-api\n\n## Resource Example Usage\n\nThis example utilizes the data source `dynatrace.getAwsSupportedServices` in order to query for a full list of all supported services.\nThe `for_each` loop within the resource `dynatrace.AwsService` configures each of these services to get utilized with the default metrics recommended by Dynatrace (`use_recommended_metrics`).\n\nIf you want to configure a different set of metrics for a specific service, a separate resource `dynatrace.AwsService` will be necessary for that. That allows you to configure the `metric` blocks according to your wishes.\nJust be aware of the fact, that Dynatrace enforces for most services a recommended set of metrics. All of them need to be part of your configuration in order to end up with a non-empty plan.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nexport = async () =\u003e {\n const tERRAFORMSAMPLE = new dynatrace.AwsCredentials(\"tERRAFORMSAMPLE\", {\n label: \"TERRAFORM-TEST-001\",\n partitionType: \"AWS_DEFAULT\",\n taggedOnly: false,\n authenticationData: {\n accountId: \"246186168471\",\n iamRole: \"Dynatrace_monitoring_role_demo1\",\n },\n removeDefaults: true,\n });\n const supportedServices = await dynatrace.getAwsSupportedServices({});\n const tERRAFORMSAMPLEServices: dynatrace.AwsService[] = [];\n for (const range of Object.entries(supportedServices.services).map(([k, v]) =\u003e ({key: k, value: v}))) {\n tERRAFORMSAMPLEServices.push(new dynatrace.AwsService(`tERRAFORMSAMPLEServices-${range.key}`, {\n credentialsId: tERRAFORMSAMPLE.id,\n useRecommendedMetrics: true,\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\nt_erraformsample = dynatrace.AwsCredentials(\"tERRAFORMSAMPLE\",\n label=\"TERRAFORM-TEST-001\",\n partition_type=\"AWS_DEFAULT\",\n tagged_only=False,\n authentication_data={\n \"account_id\": \"246186168471\",\n \"iam_role\": \"Dynatrace_monitoring_role_demo1\",\n },\n remove_defaults=True)\nsupported_services = dynatrace.get_aws_supported_services()\nt_erraformsample_services = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(supported_services.services)]:\n t_erraformsample_services.append(dynatrace.AwsService(f\"tERRAFORMSAMPLEServices-{range['key']}\",\n credentials_id=t_erraformsample.id,\n use_recommended_metrics=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var tERRAFORMSAMPLE = new Dynatrace.AwsCredentials(\"tERRAFORMSAMPLE\", new()\n {\n Label = \"TERRAFORM-TEST-001\",\n PartitionType = \"AWS_DEFAULT\",\n TaggedOnly = false,\n AuthenticationData = new Dynatrace.Inputs.AwsCredentialsAuthenticationDataArgs\n {\n AccountId = \"246186168471\",\n IamRole = \"Dynatrace_monitoring_role_demo1\",\n },\n RemoveDefaults = true,\n });\n\n var supportedServices = await Dynatrace.GetAwsSupportedServices.InvokeAsync();\n\n var tERRAFORMSAMPLEServices = new List\u003cDynatrace.AwsService\u003e();\n foreach (var range in )\n {\n tERRAFORMSAMPLEServices.Add(new Dynatrace.AwsService($\"tERRAFORMSAMPLEServices-{range.Key}\", new()\n {\n CredentialsId = tERRAFORMSAMPLE.Id,\n UseRecommendedMetrics = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttERRAFORMSAMPLE, err := dynatrace.NewAwsCredentials(ctx, \"tERRAFORMSAMPLE\", \u0026dynatrace.AwsCredentialsArgs{\n\t\t\tLabel: pulumi.String(\"TERRAFORM-TEST-001\"),\n\t\t\tPartitionType: pulumi.String(\"AWS_DEFAULT\"),\n\t\t\tTaggedOnly: pulumi.Bool(false),\n\t\t\tAuthenticationData: \u0026dynatrace.AwsCredentialsAuthenticationDataArgs{\n\t\t\t\tAccountId: pulumi.String(\"246186168471\"),\n\t\t\t\tIamRole: pulumi.String(\"Dynatrace_monitoring_role_demo1\"),\n\t\t\t},\n\t\t\tRemoveDefaults: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsupportedServices, err := dynatrace.GetAwsSupportedServices(ctx, \u0026dynatrace.GetAwsSupportedServicesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tERRAFORMSAMPLEServices []*dynatrace.AwsService\n\t\tfor key0, _ := range supportedServices.Services {\n\t\t\t__res, err := dynatrace.NewAwsService(ctx, fmt.Sprintf(\"tERRAFORMSAMPLEServices-%v\", key0), \u0026dynatrace.AwsServiceArgs{\n\t\t\t\tCredentialsId: tERRAFORMSAMPLE.ID(),\n\t\t\t\tUseRecommendedMetrics: pulumi.Bool(true),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttERRAFORMSAMPLEServices = append(tERRAFORMSAMPLEServices, __res)\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.dynatrace.AwsCredentials;\nimport com.pulumi.dynatrace.AwsCredentialsArgs;\nimport com.pulumi.dynatrace.inputs.AwsCredentialsAuthenticationDataArgs;\nimport com.pulumi.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAwsSupportedServicesArgs;\nimport com.pulumi.dynatrace.AwsService;\nimport com.pulumi.dynatrace.AwsServiceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 tERRAFORMSAMPLE = new AwsCredentials(\"tERRAFORMSAMPLE\", AwsCredentialsArgs.builder()\n .label(\"TERRAFORM-TEST-001\")\n .partitionType(\"AWS_DEFAULT\")\n .taggedOnly(false)\n .authenticationData(AwsCredentialsAuthenticationDataArgs.builder()\n .accountId(\"246186168471\")\n .iamRole(\"Dynatrace_monitoring_role_demo1\")\n .build())\n .removeDefaults(true)\n .build());\n\n final var supportedServices = DynatraceFunctions.getAwsSupportedServices();\n\n final var tERRAFORMSAMPLEServices = supportedServices.applyValue(getAwsSupportedServicesResult -\u003e {\n final var resources = new ArrayList\u003cAwsService\u003e();\n for (var range : KeyedValue.of(getAwsSupportedServicesResult.services()) {\n var resource = new AwsService(\"tERRAFORMSAMPLEServices-\" + range.key(), AwsServiceArgs.builder()\n .credentialsId(tERRAFORMSAMPLE.id())\n .useRecommendedMetrics(true)\n .build());\n\n resources.add(resource);\n }\n\n return resources;\n });\n\n }\n}\n```\n```yaml\nresources:\n tERRAFORMSAMPLE:\n type: dynatrace:AwsCredentials\n properties:\n label: TERRAFORM-TEST-001\n partitionType: AWS_DEFAULT\n taggedOnly: false\n authenticationData:\n accountId: '246186168471'\n iamRole: Dynatrace_monitoring_role_demo1\n removeDefaults: true\n tERRAFORMSAMPLEServices:\n type: dynatrace:AwsService\n properties:\n credentialsId: ${tERRAFORMSAMPLE.id}\n useRecommendedMetrics: true\n options: {}\nvariables:\n supportedServices:\n fn::invoke:\n function: dynatrace:getAwsSupportedServices\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "builtIn": { "type": "boolean", @@ -46758,6 +46938,7 @@ }, "required": [ "active", + "label", "monitorOnlyTaggedEntities" ], "inputProperties": { @@ -46827,6 +47008,7 @@ }, "requiredInputs": [ "active", + "label", "monitorOnlyTaggedEntities" ], "stateInputs": { @@ -46900,7 +47082,7 @@ } }, "dynatrace:index/azureService:AzureService": { - "description": "\u003e This resource is excluded by default in the export utility.\n\n\u003e This resource requires the API token scopes **Read configuration** (`ReadConfig`) and **Write configuration** (`WriteConfig`)\n\n## Dynatrace Documentation\n\n- Microsoft Azure monitoring - https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/cloud-platform-monitoring/microsoft-azure-services-monitoring\n\n- Azure credentials API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/azure-credentials-api\n\n## Resource Example Usage\n\nThis example utilizes the data source `dynatrace.getAzureSupportedServices` in order to query for a full list of all supported services.\nThe `for_each` loop within the resource `dynatrace.AzureService` configures each of these services to get utilized with the default metrics recommended by Dynatrace (`use_recommended_metrics`).\n\nIf you want to configure a different set of metrics for a specific service, a separate resource `dynatrace.AzureService` will be necessary for that. That allows you to configure the `metric` blocks according to your wishes.\nJust be aware of the fact, that Dynatrace enforces for most services a recommended set of metrics. All of them need to be part of your configuration in order to end up with a non-empty plan.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nexport = async () =\u003e {\n const tERRAFORMSAMPLE = new dynatrace.AzureCredentials(\"tERRAFORMSAMPLE\", {\n active: false,\n appId: \"ABCDE\",\n autoTagging: true,\n directoryId: \"ABCDE\",\n label: \"TERRAFORM_SAMPLE\",\n key: \"aaaa\",\n monitorOnlyTaggedEntities: true,\n monitorOnlyTagPairs: [{\n name: \"string\",\n value: \"string\",\n }],\n });\n const supportedServices = await dynatrace.getAzureSupportedServices({\n excepts: [\"AZURE_STORAGE_ACCOUNT\"],\n });\n const tERRAFORMSAMPLEServices: dynatrace.AzureService[] = [];\n for (const range of Object.entries(supportedServices.services).map(([k, v]) =\u003e ({key: k, value: v}))) {\n tERRAFORMSAMPLEServices.push(new dynatrace.AzureService(`tERRAFORMSAMPLEServices-${range.key}`, {\n credentialsId: tERRAFORMSAMPLE.id,\n useRecommendedMetrics: true,\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\nt_erraformsample = dynatrace.AzureCredentials(\"tERRAFORMSAMPLE\",\n active=False,\n app_id=\"ABCDE\",\n auto_tagging=True,\n directory_id=\"ABCDE\",\n label=\"TERRAFORM_SAMPLE\",\n key=\"aaaa\",\n monitor_only_tagged_entities=True,\n monitor_only_tag_pairs=[{\n \"name\": \"string\",\n \"value\": \"string\",\n }])\nsupported_services = dynatrace.get_azure_supported_services(excepts=[\"AZURE_STORAGE_ACCOUNT\"])\nt_erraformsample_services = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(supported_services.services)]:\n t_erraformsample_services.append(dynatrace.AzureService(f\"tERRAFORMSAMPLEServices-{range['key']}\",\n credentials_id=t_erraformsample.id,\n use_recommended_metrics=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var tERRAFORMSAMPLE = new Dynatrace.AzureCredentials(\"tERRAFORMSAMPLE\", new()\n {\n Active = false,\n AppId = \"ABCDE\",\n AutoTagging = true,\n DirectoryId = \"ABCDE\",\n Label = \"TERRAFORM_SAMPLE\",\n Key = \"aaaa\",\n MonitorOnlyTaggedEntities = true,\n MonitorOnlyTagPairs = new[]\n {\n new Dynatrace.Inputs.AzureCredentialsMonitorOnlyTagPairArgs\n {\n Name = \"string\",\n Value = \"string\",\n },\n },\n });\n\n var supportedServices = await Dynatrace.GetAzureSupportedServices.InvokeAsync(new()\n {\n Excepts = new[]\n {\n \"AZURE_STORAGE_ACCOUNT\",\n },\n });\n\n var tERRAFORMSAMPLEServices = new List\u003cDynatrace.AzureService\u003e();\n foreach (var range in )\n {\n tERRAFORMSAMPLEServices.Add(new Dynatrace.AzureService($\"tERRAFORMSAMPLEServices-{range.Key}\", new()\n {\n CredentialsId = tERRAFORMSAMPLE.Id,\n UseRecommendedMetrics = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttERRAFORMSAMPLE, err := dynatrace.NewAzureCredentials(ctx, \"tERRAFORMSAMPLE\", \u0026dynatrace.AzureCredentialsArgs{\n\t\t\tActive: pulumi.Bool(false),\n\t\t\tAppId: pulumi.String(\"ABCDE\"),\n\t\t\tAutoTagging: pulumi.Bool(true),\n\t\t\tDirectoryId: pulumi.String(\"ABCDE\"),\n\t\t\tLabel: pulumi.String(\"TERRAFORM_SAMPLE\"),\n\t\t\tKey: pulumi.String(\"aaaa\"),\n\t\t\tMonitorOnlyTaggedEntities: pulumi.Bool(true),\n\t\t\tMonitorOnlyTagPairs: dynatrace.AzureCredentialsMonitorOnlyTagPairArray{\n\t\t\t\t\u0026dynatrace.AzureCredentialsMonitorOnlyTagPairArgs{\n\t\t\t\t\tName: pulumi.String(\"string\"),\n\t\t\t\t\tValue: pulumi.String(\"string\"),\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\tsupportedServices, err := dynatrace.GetAzureSupportedServices(ctx, \u0026dynatrace.GetAzureSupportedServicesArgs{\n\t\t\tExcepts: []string{\n\t\t\t\t\"AZURE_STORAGE_ACCOUNT\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tERRAFORMSAMPLEServices []*dynatrace.AzureService\n\t\tfor key0, _ := range supportedServices.Services {\n\t\t\t__res, err := dynatrace.NewAzureService(ctx, fmt.Sprintf(\"tERRAFORMSAMPLEServices-%v\", key0), \u0026dynatrace.AzureServiceArgs{\n\t\t\t\tCredentialsId: tERRAFORMSAMPLE.ID(),\n\t\t\t\tUseRecommendedMetrics: pulumi.Bool(true),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttERRAFORMSAMPLEServices = append(tERRAFORMSAMPLEServices, __res)\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.dynatrace.AzureCredentials;\nimport com.pulumi.dynatrace.AzureCredentialsArgs;\nimport com.pulumi.dynatrace.inputs.AzureCredentialsMonitorOnlyTagPairArgs;\nimport com.pulumi.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAzureSupportedServicesArgs;\nimport com.pulumi.dynatrace.AzureService;\nimport com.pulumi.dynatrace.AzureServiceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 tERRAFORMSAMPLE = new AzureCredentials(\"tERRAFORMSAMPLE\", AzureCredentialsArgs.builder()\n .active(false)\n .appId(\"ABCDE\")\n .autoTagging(true)\n .directoryId(\"ABCDE\")\n .label(\"TERRAFORM_SAMPLE\")\n .key(\"aaaa\")\n .monitorOnlyTaggedEntities(true)\n .monitorOnlyTagPairs(AzureCredentialsMonitorOnlyTagPairArgs.builder()\n .name(\"string\")\n .value(\"string\")\n .build())\n .build());\n\n final var supportedServices = DynatraceFunctions.getAzureSupportedServices(GetAzureSupportedServicesArgs.builder()\n .excepts(\"AZURE_STORAGE_ACCOUNT\")\n .build());\n\n final var tERRAFORMSAMPLEServices = supportedServices.applyValue(getAzureSupportedServicesResult -\u003e {\n final var resources = new ArrayList\u003cAzureService\u003e();\n for (var range : KeyedValue.of(getAzureSupportedServicesResult.services()) {\n var resource = new AzureService(\"tERRAFORMSAMPLEServices-\" + range.key(), AzureServiceArgs.builder()\n .credentialsId(tERRAFORMSAMPLE.id())\n .useRecommendedMetrics(true)\n .build());\n\n resources.add(resource);\n }\n\n return resources;\n });\n\n }\n}\n```\n```yaml\nresources:\n tERRAFORMSAMPLE:\n type: dynatrace:AzureCredentials\n properties:\n active: false\n appId: ABCDE\n autoTagging: true\n directoryId: ABCDE\n label: TERRAFORM_SAMPLE\n key: aaaa\n monitorOnlyTaggedEntities: true\n monitorOnlyTagPairs:\n - name: string\n value: string\n tERRAFORMSAMPLEServices:\n type: dynatrace:AzureService\n properties:\n credentialsId: ${tERRAFORMSAMPLE.id}\n useRecommendedMetrics: true\n options: {}\nvariables:\n supportedServices:\n fn::invoke:\n Function: dynatrace:getAzureSupportedServices\n Arguments:\n excepts:\n - AZURE_STORAGE_ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e This resource is excluded by default in the export utility.\n\n\u003e This resource requires the API token scopes **Read configuration** (`ReadConfig`) and **Write configuration** (`WriteConfig`)\n\n## Dynatrace Documentation\n\n- Microsoft Azure monitoring - https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/cloud-platform-monitoring/microsoft-azure-services-monitoring\n\n- Azure credentials API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/azure-credentials-api\n\n## Resource Example Usage\n\nThis example utilizes the data source `dynatrace.getAzureSupportedServices` in order to query for a full list of all supported services.\nThe `for_each` loop within the resource `dynatrace.AzureService` configures each of these services to get utilized with the default metrics recommended by Dynatrace (`use_recommended_metrics`).\n\nIf you want to configure a different set of metrics for a specific service, a separate resource `dynatrace.AzureService` will be necessary for that. That allows you to configure the `metric` blocks according to your wishes.\nJust be aware of the fact, that Dynatrace enforces for most services a recommended set of metrics. All of them need to be part of your configuration in order to end up with a non-empty plan.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nexport = async () =\u003e {\n const tERRAFORMSAMPLE = new dynatrace.AzureCredentials(\"tERRAFORMSAMPLE\", {\n active: false,\n appId: \"ABCDE\",\n autoTagging: true,\n directoryId: \"ABCDE\",\n label: \"TERRAFORM_SAMPLE\",\n key: \"aaaa\",\n monitorOnlyTaggedEntities: true,\n monitorOnlyTagPairs: [{\n name: \"string\",\n value: \"string\",\n }],\n });\n const supportedServices = await dynatrace.getAzureSupportedServices({\n excepts: [\"AZURE_STORAGE_ACCOUNT\"],\n });\n const tERRAFORMSAMPLEServices: dynatrace.AzureService[] = [];\n for (const range of Object.entries(supportedServices.services).map(([k, v]) =\u003e ({key: k, value: v}))) {\n tERRAFORMSAMPLEServices.push(new dynatrace.AzureService(`tERRAFORMSAMPLEServices-${range.key}`, {\n credentialsId: tERRAFORMSAMPLE.id,\n useRecommendedMetrics: true,\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\nt_erraformsample = dynatrace.AzureCredentials(\"tERRAFORMSAMPLE\",\n active=False,\n app_id=\"ABCDE\",\n auto_tagging=True,\n directory_id=\"ABCDE\",\n label=\"TERRAFORM_SAMPLE\",\n key=\"aaaa\",\n monitor_only_tagged_entities=True,\n monitor_only_tag_pairs=[{\n \"name\": \"string\",\n \"value\": \"string\",\n }])\nsupported_services = dynatrace.get_azure_supported_services(excepts=[\"AZURE_STORAGE_ACCOUNT\"])\nt_erraformsample_services = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(supported_services.services)]:\n t_erraformsample_services.append(dynatrace.AzureService(f\"tERRAFORMSAMPLEServices-{range['key']}\",\n credentials_id=t_erraformsample.id,\n use_recommended_metrics=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var tERRAFORMSAMPLE = new Dynatrace.AzureCredentials(\"tERRAFORMSAMPLE\", new()\n {\n Active = false,\n AppId = \"ABCDE\",\n AutoTagging = true,\n DirectoryId = \"ABCDE\",\n Label = \"TERRAFORM_SAMPLE\",\n Key = \"aaaa\",\n MonitorOnlyTaggedEntities = true,\n MonitorOnlyTagPairs = new[]\n {\n new Dynatrace.Inputs.AzureCredentialsMonitorOnlyTagPairArgs\n {\n Name = \"string\",\n Value = \"string\",\n },\n },\n });\n\n var supportedServices = await Dynatrace.GetAzureSupportedServices.InvokeAsync(new()\n {\n Excepts = new[]\n {\n \"AZURE_STORAGE_ACCOUNT\",\n },\n });\n\n var tERRAFORMSAMPLEServices = new List\u003cDynatrace.AzureService\u003e();\n foreach (var range in )\n {\n tERRAFORMSAMPLEServices.Add(new Dynatrace.AzureService($\"tERRAFORMSAMPLEServices-{range.Key}\", new()\n {\n CredentialsId = tERRAFORMSAMPLE.Id,\n UseRecommendedMetrics = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttERRAFORMSAMPLE, err := dynatrace.NewAzureCredentials(ctx, \"tERRAFORMSAMPLE\", \u0026dynatrace.AzureCredentialsArgs{\n\t\t\tActive: pulumi.Bool(false),\n\t\t\tAppId: pulumi.String(\"ABCDE\"),\n\t\t\tAutoTagging: pulumi.Bool(true),\n\t\t\tDirectoryId: pulumi.String(\"ABCDE\"),\n\t\t\tLabel: pulumi.String(\"TERRAFORM_SAMPLE\"),\n\t\t\tKey: pulumi.String(\"aaaa\"),\n\t\t\tMonitorOnlyTaggedEntities: pulumi.Bool(true),\n\t\t\tMonitorOnlyTagPairs: dynatrace.AzureCredentialsMonitorOnlyTagPairArray{\n\t\t\t\t\u0026dynatrace.AzureCredentialsMonitorOnlyTagPairArgs{\n\t\t\t\t\tName: pulumi.String(\"string\"),\n\t\t\t\t\tValue: pulumi.String(\"string\"),\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\tsupportedServices, err := dynatrace.GetAzureSupportedServices(ctx, \u0026dynatrace.GetAzureSupportedServicesArgs{\n\t\t\tExcepts: []string{\n\t\t\t\t\"AZURE_STORAGE_ACCOUNT\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tERRAFORMSAMPLEServices []*dynatrace.AzureService\n\t\tfor key0, _ := range supportedServices.Services {\n\t\t\t__res, err := dynatrace.NewAzureService(ctx, fmt.Sprintf(\"tERRAFORMSAMPLEServices-%v\", key0), \u0026dynatrace.AzureServiceArgs{\n\t\t\t\tCredentialsId: tERRAFORMSAMPLE.ID(),\n\t\t\t\tUseRecommendedMetrics: pulumi.Bool(true),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttERRAFORMSAMPLEServices = append(tERRAFORMSAMPLEServices, __res)\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.dynatrace.AzureCredentials;\nimport com.pulumi.dynatrace.AzureCredentialsArgs;\nimport com.pulumi.dynatrace.inputs.AzureCredentialsMonitorOnlyTagPairArgs;\nimport com.pulumi.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAzureSupportedServicesArgs;\nimport com.pulumi.dynatrace.AzureService;\nimport com.pulumi.dynatrace.AzureServiceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 tERRAFORMSAMPLE = new AzureCredentials(\"tERRAFORMSAMPLE\", AzureCredentialsArgs.builder()\n .active(false)\n .appId(\"ABCDE\")\n .autoTagging(true)\n .directoryId(\"ABCDE\")\n .label(\"TERRAFORM_SAMPLE\")\n .key(\"aaaa\")\n .monitorOnlyTaggedEntities(true)\n .monitorOnlyTagPairs(AzureCredentialsMonitorOnlyTagPairArgs.builder()\n .name(\"string\")\n .value(\"string\")\n .build())\n .build());\n\n final var supportedServices = DynatraceFunctions.getAzureSupportedServices(GetAzureSupportedServicesArgs.builder()\n .excepts(\"AZURE_STORAGE_ACCOUNT\")\n .build());\n\n final var tERRAFORMSAMPLEServices = supportedServices.applyValue(getAzureSupportedServicesResult -\u003e {\n final var resources = new ArrayList\u003cAzureService\u003e();\n for (var range : KeyedValue.of(getAzureSupportedServicesResult.services()) {\n var resource = new AzureService(\"tERRAFORMSAMPLEServices-\" + range.key(), AzureServiceArgs.builder()\n .credentialsId(tERRAFORMSAMPLE.id())\n .useRecommendedMetrics(true)\n .build());\n\n resources.add(resource);\n }\n\n return resources;\n });\n\n }\n}\n```\n```yaml\nresources:\n tERRAFORMSAMPLE:\n type: dynatrace:AzureCredentials\n properties:\n active: false\n appId: ABCDE\n autoTagging: true\n directoryId: ABCDE\n label: TERRAFORM_SAMPLE\n key: aaaa\n monitorOnlyTaggedEntities: true\n monitorOnlyTagPairs:\n - name: string\n value: string\n tERRAFORMSAMPLEServices:\n type: dynatrace:AzureService\n properties:\n credentialsId: ${tERRAFORMSAMPLE.id}\n useRecommendedMetrics: true\n options: {}\nvariables:\n supportedServices:\n fn::invoke:\n function: dynatrace:getAzureSupportedServices\n arguments:\n excepts:\n - AZURE_STORAGE_ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "builtIn": { "type": "boolean", @@ -52100,6 +52282,30 @@ "type": "object" } }, + "dynatrace:index/defaultLaunchpad:DefaultLaunchpad": { + "properties": { + "groupLaunchpads": { + "$ref": "#/types/dynatrace:index/DefaultLaunchpadGroupLaunchpads:DefaultLaunchpadGroupLaunchpads", + "description": "Set default launchpads for user groups. The highest ranked will be shown to the user of a group.\n" + } + }, + "inputProperties": { + "groupLaunchpads": { + "$ref": "#/types/dynatrace:index/DefaultLaunchpadGroupLaunchpads:DefaultLaunchpadGroupLaunchpads", + "description": "Set default launchpads for user groups. The highest ranked will be shown to the user of a group.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering DefaultLaunchpad resources.\n", + "properties": { + "groupLaunchpads": { + "$ref": "#/types/dynatrace:index/DefaultLaunchpadGroupLaunchpads:DefaultLaunchpadGroupLaunchpads", + "description": "Set default launchpads for user groups. The highest ranked will be shown to the user of a group.\n" + } + }, + "type": "object" + } + }, "dynatrace:index/devobsAgentOptin:DevobsAgentOptin": { "properties": { "enabled": { @@ -52320,7 +52526,7 @@ } }, "dynatrace:index/directShares:DirectShares": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Read direct-shares** (`document:direct-shares:read`), **Write direct-shares** (`document:direct-shares:write`), and **Delete direct-shares** (`document:direct-shares:delete`).\n\n\u003e This resource is currently not covered by the export utility.\n\n## Dynatrace Documentation\n\n- Dynatrace Documents - https://########.apps.dynatrace.com/platform/swagger-ui/index.html?urls.primaryName=Document%20Service\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst thisDocument = new dynatrace.Document(\"thisDocument\", {\n type: \"dashboard\",\n content: JSON.stringify({\n version: 13,\n variables: [],\n tiles: {\n \"0\": {\n type: \"markdown\",\n title: \"\",\n content: \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.cpu.user)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.cpu.user\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.cpu.user)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n \"2\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.memory.used)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.memory.used\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.memory.used)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n categoricalBarChartSettings: {},\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n },\n layouts: {\n \"0\": {\n x: 0,\n y: 0,\n w: 24,\n h: 14,\n },\n \"1\": {\n x: 0,\n y: 14,\n w: 9,\n h: 6,\n },\n \"2\": {\n x: 15,\n y: 14,\n w: 9,\n h: 6,\n },\n },\n }),\n});\nconst thisDirectShares = new dynatrace.DirectShares(\"thisDirectShares\", {\n documentId: thisDocument.id,\n access: \"read-write\",\n recipients: {\n recipients: [\n {\n id: \"441664f0-23c9-40ef-b344-18c02c23d787\",\n type: \"user\",\n },\n {\n id: \"441664f0-23c9-40ef-b344-18c02c23d788\",\n type: \"group\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumiverse_dynatrace as dynatrace\n\nthis_document = dynatrace.Document(\"thisDocument\",\n type=\"dashboard\",\n content=json.dumps({\n \"version\": 13,\n \"variables\": [],\n \"tiles\": {\n \"0\": {\n \"type\": \"markdown\",\n \"title\": \"\",\n \"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.cpu.user)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.cpu.user\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.cpu.user)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n \"2\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.memory.used)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.memory.used\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.memory.used)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n \"categoricalBarChartSettings\": {},\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n },\n \"layouts\": {\n \"0\": {\n \"x\": 0,\n \"y\": 0,\n \"w\": 24,\n \"h\": 14,\n },\n \"1\": {\n \"x\": 0,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n \"2\": {\n \"x\": 15,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n },\n }))\nthis_direct_shares = dynatrace.DirectShares(\"thisDirectShares\",\n document_id=this_document.id,\n access=\"read-write\",\n recipients={\n \"recipients\": [\n {\n \"id\": \"441664f0-23c9-40ef-b344-18c02c23d787\",\n \"type\": \"user\",\n },\n {\n \"id\": \"441664f0-23c9-40ef-b344-18c02c23d788\",\n \"type\": \"group\",\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var thisDocument = new Dynatrace.Document(\"thisDocument\", new()\n {\n Type = \"dashboard\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"version\"] = 13,\n [\"variables\"] = new[]\n {\n },\n [\"tiles\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"markdown\",\n [\"title\"] = \"\",\n [\"content\"] = \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.cpu.user)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.cpu.user\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.cpu.user)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.memory.used)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.memory.used\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.memory.used)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n [\"categoricalBarChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n },\n [\"layouts\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 0,\n [\"w\"] = 24,\n [\"h\"] = 14,\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 15,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n },\n }),\n });\n\n var thisDirectShares = new Dynatrace.DirectShares(\"thisDirectShares\", new()\n {\n DocumentId = thisDocument.Id,\n Access = \"read-write\",\n Recipients = new Dynatrace.Inputs.DirectSharesRecipientsArgs\n {\n Recipients = new[]\n {\n new Dynatrace.Inputs.DirectSharesRecipientsRecipientArgs\n {\n Id = \"441664f0-23c9-40ef-b344-18c02c23d787\",\n Type = \"user\",\n },\n new Dynatrace.Inputs.DirectSharesRecipientsRecipientArgs\n {\n Id = \"441664f0-23c9-40ef-b344-18c02c23d788\",\n Type = \"group\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"version\": 13,\n\t\t\t\"variables\": []interface{}{},\n\t\t\t\"tiles\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"markdown\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.cpu.user)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.cpu.user\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.cpu.user)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.memory.used)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.memory.used\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.memory.used)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoricalBarChartSettings\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"layouts\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 0,\n\t\t\t\t\t\"w\": 24,\n\t\t\t\t\t\"h\": 14,\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"x\": 15,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\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\tjson0 := string(tmpJSON0)\n\t\tthisDocument, err := dynatrace.NewDocument(ctx, \"thisDocument\", \u0026dynatrace.DocumentArgs{\n\t\t\tType: pulumi.String(\"dashboard\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewDirectShares(ctx, \"thisDirectShares\", \u0026dynatrace.DirectSharesArgs{\n\t\t\tDocumentId: thisDocument.ID(),\n\t\t\tAccess: pulumi.String(\"read-write\"),\n\t\t\tRecipients: \u0026dynatrace.DirectSharesRecipientsArgs{\n\t\t\t\tRecipients: dynatrace.DirectSharesRecipientsRecipientArray{\n\t\t\t\t\t\u0026dynatrace.DirectSharesRecipientsRecipientArgs{\n\t\t\t\t\t\tId: pulumi.String(\"441664f0-23c9-40ef-b344-18c02c23d787\"),\n\t\t\t\t\t\tType: pulumi.String(\"user\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.DirectSharesRecipientsRecipientArgs{\n\t\t\t\t\t\tId: pulumi.String(\"441664f0-23c9-40ef-b344-18c02c23d788\"),\n\t\t\t\t\t\tType: pulumi.String(\"group\"),\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.dynatrace.Document;\nimport com.pulumi.dynatrace.DocumentArgs;\nimport com.pulumi.dynatrace.DirectShares;\nimport com.pulumi.dynatrace.DirectSharesArgs;\nimport com.pulumi.dynatrace.inputs.DirectSharesRecipientsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var thisDocument = new Document(\"thisDocument\", DocumentArgs.builder()\n .type(\"dashboard\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"version\", 13),\n jsonProperty(\"variables\", jsonArray(\n )),\n jsonProperty(\"tiles\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"type\", \"markdown\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"content\", \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\")\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.cpu.user)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.cpu.user\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.cpu.user)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.memory.used)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.memory.used\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.memory.used)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n )),\n jsonProperty(\"categoricalBarChartSettings\", jsonObject(\n\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n ))\n )),\n jsonProperty(\"layouts\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 0),\n jsonProperty(\"w\", 24),\n jsonProperty(\"h\", 14)\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"x\", 15),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n ))\n ))\n )))\n .build());\n\n var thisDirectShares = new DirectShares(\"thisDirectShares\", DirectSharesArgs.builder()\n .documentId(thisDocument.id())\n .access(\"read-write\")\n .recipients(DirectSharesRecipientsArgs.builder()\n .recipients( \n DirectSharesRecipientsRecipientArgs.builder()\n .id(\"441664f0-23c9-40ef-b344-18c02c23d787\")\n .type(\"user\")\n .build(),\n DirectSharesRecipientsRecipientArgs.builder()\n .id(\"441664f0-23c9-40ef-b344-18c02c23d788\")\n .type(\"group\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisDirectShares:\n type: dynatrace:DirectShares\n properties:\n documentId: ${thisDocument.id}\n access: read-write\n recipients:\n recipients:\n - id: 441664f0-23c9-40ef-b344-18c02c23d787\n type: user\n - id: 441664f0-23c9-40ef-b344-18c02c23d788\n type: group\n thisDocument:\n type: dynatrace:Document\n properties:\n type: dashboard\n content:\n fn::toJSON:\n version: 13\n variables: []\n tiles:\n '0':\n type: markdown\n title:\n content: '![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)'\n '1':\n type: data\n title:\n query: timeseries avg(dt.host.cpu.user)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.cpu.user\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.cpu.user)\n leftAxisDimensions: []\n fields: []\n values: []\n singleValue:\n showLabel: true\n label:\n prefixIcon:\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n '2':\n type: data\n title:\n query: timeseries avg(dt.host.memory.used)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.memory.used\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.memory.used)\n leftAxisDimensions: []\n fields: []\n values: []\n categoricalBarChartSettings: {}\n singleValue:\n showLabel: true\n label:\n prefixIcon:\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n layouts:\n '0':\n x: 0\n y: 0\n w: 24\n h: 14\n '1':\n x: 0\n y: 14\n w: 9\n h: 6\n '2':\n x: 15\n y: 14\n w: 9\n h: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Read direct-shares** (`document:direct-shares:read`), **Write direct-shares** (`document:direct-shares:write`), and **Delete direct-shares** (`document:direct-shares:delete`).\n\n\u003e This resource is currently not covered by the export utility.\n\n## Dynatrace Documentation\n\n- Dynatrace Documents - https://########.apps.dynatrace.com/platform/swagger-ui/index.html?urls.primaryName=Document%20Service\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst thisDocument = new dynatrace.Document(\"thisDocument\", {\n type: \"dashboard\",\n content: JSON.stringify({\n version: 13,\n variables: [],\n tiles: {\n \"0\": {\n type: \"markdown\",\n title: \"\",\n content: \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.cpu.user)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.cpu.user\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.cpu.user)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n \"2\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.memory.used)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.memory.used\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.memory.used)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n categoricalBarChartSettings: {},\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n },\n layouts: {\n \"0\": {\n x: 0,\n y: 0,\n w: 24,\n h: 14,\n },\n \"1\": {\n x: 0,\n y: 14,\n w: 9,\n h: 6,\n },\n \"2\": {\n x: 15,\n y: 14,\n w: 9,\n h: 6,\n },\n },\n }),\n});\nconst thisDirectShares = new dynatrace.DirectShares(\"thisDirectShares\", {\n documentId: thisDocument.id,\n access: \"read-write\",\n recipients: {\n recipients: [\n {\n id: \"441664f0-23c9-40ef-b344-18c02c23d787\",\n type: \"user\",\n },\n {\n id: \"441664f0-23c9-40ef-b344-18c02c23d788\",\n type: \"group\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumiverse_dynatrace as dynatrace\n\nthis_document = dynatrace.Document(\"thisDocument\",\n type=\"dashboard\",\n content=json.dumps({\n \"version\": 13,\n \"variables\": [],\n \"tiles\": {\n \"0\": {\n \"type\": \"markdown\",\n \"title\": \"\",\n \"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.cpu.user)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.cpu.user\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.cpu.user)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n \"2\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.memory.used)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.memory.used\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.memory.used)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n \"categoricalBarChartSettings\": {},\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n },\n \"layouts\": {\n \"0\": {\n \"x\": 0,\n \"y\": 0,\n \"w\": 24,\n \"h\": 14,\n },\n \"1\": {\n \"x\": 0,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n \"2\": {\n \"x\": 15,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n },\n }))\nthis_direct_shares = dynatrace.DirectShares(\"thisDirectShares\",\n document_id=this_document.id,\n access=\"read-write\",\n recipients={\n \"recipients\": [\n {\n \"id\": \"441664f0-23c9-40ef-b344-18c02c23d787\",\n \"type\": \"user\",\n },\n {\n \"id\": \"441664f0-23c9-40ef-b344-18c02c23d788\",\n \"type\": \"group\",\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var thisDocument = new Dynatrace.Document(\"thisDocument\", new()\n {\n Type = \"dashboard\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"version\"] = 13,\n [\"variables\"] = new[]\n {\n },\n [\"tiles\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"markdown\",\n [\"title\"] = \"\",\n [\"content\"] = \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.cpu.user)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.cpu.user\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.cpu.user)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.memory.used)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.memory.used\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.memory.used)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n [\"categoricalBarChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n },\n [\"layouts\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 0,\n [\"w\"] = 24,\n [\"h\"] = 14,\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 15,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n },\n }),\n });\n\n var thisDirectShares = new Dynatrace.DirectShares(\"thisDirectShares\", new()\n {\n DocumentId = thisDocument.Id,\n Access = \"read-write\",\n Recipients = new Dynatrace.Inputs.DirectSharesRecipientsArgs\n {\n Recipients = new[]\n {\n new Dynatrace.Inputs.DirectSharesRecipientsRecipientArgs\n {\n Id = \"441664f0-23c9-40ef-b344-18c02c23d787\",\n Type = \"user\",\n },\n new Dynatrace.Inputs.DirectSharesRecipientsRecipientArgs\n {\n Id = \"441664f0-23c9-40ef-b344-18c02c23d788\",\n Type = \"group\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"version\": 13,\n\t\t\t\"variables\": []interface{}{},\n\t\t\t\"tiles\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"markdown\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.cpu.user)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.cpu.user\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.cpu.user)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.memory.used)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.memory.used\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.memory.used)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoricalBarChartSettings\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"layouts\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 0,\n\t\t\t\t\t\"w\": 24,\n\t\t\t\t\t\"h\": 14,\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"x\": 15,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\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\tjson0 := string(tmpJSON0)\n\t\tthisDocument, err := dynatrace.NewDocument(ctx, \"thisDocument\", \u0026dynatrace.DocumentArgs{\n\t\t\tType: pulumi.String(\"dashboard\"),\n\t\t\tContent: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewDirectShares(ctx, \"thisDirectShares\", \u0026dynatrace.DirectSharesArgs{\n\t\t\tDocumentId: thisDocument.ID(),\n\t\t\tAccess: pulumi.String(\"read-write\"),\n\t\t\tRecipients: \u0026dynatrace.DirectSharesRecipientsArgs{\n\t\t\t\tRecipients: dynatrace.DirectSharesRecipientsRecipientArray{\n\t\t\t\t\t\u0026dynatrace.DirectSharesRecipientsRecipientArgs{\n\t\t\t\t\t\tId: pulumi.String(\"441664f0-23c9-40ef-b344-18c02c23d787\"),\n\t\t\t\t\t\tType: pulumi.String(\"user\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.DirectSharesRecipientsRecipientArgs{\n\t\t\t\t\t\tId: pulumi.String(\"441664f0-23c9-40ef-b344-18c02c23d788\"),\n\t\t\t\t\t\tType: pulumi.String(\"group\"),\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.dynatrace.Document;\nimport com.pulumi.dynatrace.DocumentArgs;\nimport com.pulumi.dynatrace.DirectShares;\nimport com.pulumi.dynatrace.DirectSharesArgs;\nimport com.pulumi.dynatrace.inputs.DirectSharesRecipientsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var thisDocument = new Document(\"thisDocument\", DocumentArgs.builder()\n .type(\"dashboard\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"version\", 13),\n jsonProperty(\"variables\", jsonArray(\n )),\n jsonProperty(\"tiles\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"type\", \"markdown\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"content\", \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\")\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.cpu.user)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.cpu.user\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.cpu.user)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.memory.used)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.memory.used\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.memory.used)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n )),\n jsonProperty(\"categoricalBarChartSettings\", jsonObject(\n\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n ))\n )),\n jsonProperty(\"layouts\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 0),\n jsonProperty(\"w\", 24),\n jsonProperty(\"h\", 14)\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"x\", 15),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n ))\n ))\n )))\n .build());\n\n var thisDirectShares = new DirectShares(\"thisDirectShares\", DirectSharesArgs.builder()\n .documentId(thisDocument.id())\n .access(\"read-write\")\n .recipients(DirectSharesRecipientsArgs.builder()\n .recipients( \n DirectSharesRecipientsRecipientArgs.builder()\n .id(\"441664f0-23c9-40ef-b344-18c02c23d787\")\n .type(\"user\")\n .build(),\n DirectSharesRecipientsRecipientArgs.builder()\n .id(\"441664f0-23c9-40ef-b344-18c02c23d788\")\n .type(\"group\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisDirectShares:\n type: dynatrace:DirectShares\n properties:\n documentId: ${thisDocument.id}\n access: read-write\n recipients:\n recipients:\n - id: 441664f0-23c9-40ef-b344-18c02c23d787\n type: user\n - id: 441664f0-23c9-40ef-b344-18c02c23d788\n type: group\n thisDocument:\n type: dynatrace:Document\n properties:\n type: dashboard\n content:\n fn::toJSON:\n version: 13\n variables: []\n tiles:\n '0':\n type: markdown\n title: \"\"\n content: '![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)'\n '1':\n type: data\n title: \"\"\n query: timeseries avg(dt.host.cpu.user)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.cpu.user\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.cpu.user)\n leftAxisDimensions: []\n fields: []\n values: []\n singleValue:\n showLabel: true\n label: \"\"\n prefixIcon: \"\"\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n '2':\n type: data\n title: \"\"\n query: timeseries avg(dt.host.memory.used)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.memory.used\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.memory.used)\n leftAxisDimensions: []\n fields: []\n values: []\n categoricalBarChartSettings: {}\n singleValue:\n showLabel: true\n label: \"\"\n prefixIcon: \"\"\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n layouts:\n '0':\n x: 0\n y: 0\n w: 24\n h: 14\n '1':\n x: 0\n y: 14\n w: 9\n h: 6\n '2':\n x: 15\n y: 14\n w: 9\n h: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "access": { "type": "string", @@ -53190,7 +53396,7 @@ } }, "dynatrace:index/document:Document": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Create and edit documents** (`document:documents:write`), **View documents** (`document:documents:read`) and **Delete documents** (`document:documents:delete`).\n\n\u003e This resource is excluded by default in the export utility, please explicitly specify the resource to retrieve existing configuration.\n\n## Dynatrace Documentation\n\n- Dynatrace Documents - https://########.apps.dynatrace.com/platform/swagger-ui/index.html?urls.primaryName=Document%20Service\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst _this = new dynatrace.Document(\"this\", {\n type: \"dashboard\",\n content: JSON.stringify({\n version: 13,\n variables: [],\n tiles: {\n \"0\": {\n type: \"markdown\",\n title: \"\",\n content: \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.cpu.user)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.cpu.user\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.cpu.user)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n \"2\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.memory.used)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.memory.used\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.memory.used)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n categoricalBarChartSettings: {},\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n },\n layouts: {\n \"0\": {\n x: 0,\n y: 0,\n w: 24,\n h: 14,\n },\n \"1\": {\n x: 0,\n y: 14,\n w: 9,\n h: 6,\n },\n \"2\": {\n x: 15,\n y: 14,\n w: 9,\n h: 6,\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumiverse_dynatrace as dynatrace\n\nthis = dynatrace.Document(\"this\",\n type=\"dashboard\",\n content=json.dumps({\n \"version\": 13,\n \"variables\": [],\n \"tiles\": {\n \"0\": {\n \"type\": \"markdown\",\n \"title\": \"\",\n \"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.cpu.user)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.cpu.user\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.cpu.user)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n \"2\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.memory.used)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.memory.used\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.memory.used)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n \"categoricalBarChartSettings\": {},\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n },\n \"layouts\": {\n \"0\": {\n \"x\": 0,\n \"y\": 0,\n \"w\": 24,\n \"h\": 14,\n },\n \"1\": {\n \"x\": 0,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n \"2\": {\n \"x\": 15,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Dynatrace.Document(\"this\", new()\n {\n Type = \"dashboard\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"version\"] = 13,\n [\"variables\"] = new[]\n {\n },\n [\"tiles\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"markdown\",\n [\"title\"] = \"\",\n [\"content\"] = \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.cpu.user)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.cpu.user\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.cpu.user)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.memory.used)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.memory.used\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.memory.used)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n [\"categoricalBarChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n },\n [\"layouts\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 0,\n [\"w\"] = 24,\n [\"h\"] = 14,\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 15,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"version\": 13,\n\t\t\t\"variables\": []interface{}{},\n\t\t\t\"tiles\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"markdown\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.cpu.user)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.cpu.user\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.cpu.user)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.memory.used)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.memory.used\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.memory.used)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoricalBarChartSettings\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"layouts\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 0,\n\t\t\t\t\t\"w\": 24,\n\t\t\t\t\t\"h\": 14,\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"x\": 15,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = dynatrace.NewDocument(ctx, \"this\", \u0026dynatrace.DocumentArgs{\n\t\t\tType: pulumi.String(\"dashboard\"),\n\t\t\tContent: pulumi.String(json0),\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.dynatrace.Document;\nimport com.pulumi.dynatrace.DocumentArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Document(\"this\", DocumentArgs.builder()\n .type(\"dashboard\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"version\", 13),\n jsonProperty(\"variables\", jsonArray(\n )),\n jsonProperty(\"tiles\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"type\", \"markdown\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"content\", \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\")\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.cpu.user)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.cpu.user\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.cpu.user)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.memory.used)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.memory.used\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.memory.used)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n )),\n jsonProperty(\"categoricalBarChartSettings\", jsonObject(\n\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n ))\n )),\n jsonProperty(\"layouts\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 0),\n jsonProperty(\"w\", 24),\n jsonProperty(\"h\", 14)\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"x\", 15),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: dynatrace:Document\n properties:\n type: dashboard\n content:\n fn::toJSON:\n version: 13\n variables: []\n tiles:\n '0':\n type: markdown\n title:\n content: '![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)'\n '1':\n type: data\n title:\n query: timeseries avg(dt.host.cpu.user)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.cpu.user\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.cpu.user)\n leftAxisDimensions: []\n fields: []\n values: []\n singleValue:\n showLabel: true\n label:\n prefixIcon:\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n '2':\n type: data\n title:\n query: timeseries avg(dt.host.memory.used)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.memory.used\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.memory.used)\n leftAxisDimensions: []\n fields: []\n values: []\n categoricalBarChartSettings: {}\n singleValue:\n showLabel: true\n label:\n prefixIcon:\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n layouts:\n '0':\n x: 0\n y: 0\n w: 24\n h: 14\n '1':\n x: 0\n y: 14\n w: 9\n h: 6\n '2':\n x: 15\n y: 14\n w: 9\n h: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Create and edit documents** (`document:documents:write`), **View documents** (`document:documents:read`) and **Delete documents** (`document:documents:delete`).\n\n\u003e This resource is excluded by default in the export utility, please explicitly specify the resource to retrieve existing configuration.\n\n## Dynatrace Documentation\n\n- Dynatrace Documents - https://########.apps.dynatrace.com/platform/swagger-ui/index.html?urls.primaryName=Document%20Service\n\n## Resource Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst _this = new dynatrace.Document(\"this\", {\n type: \"dashboard\",\n content: JSON.stringify({\n version: 13,\n variables: [],\n tiles: {\n \"0\": {\n type: \"markdown\",\n title: \"\",\n content: \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.cpu.user)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.cpu.user\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.cpu.user)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n \"2\": {\n type: \"data\",\n title: \"\",\n query: \"timeseries avg(dt.host.memory.used)\",\n queryConfig: {\n additionalFilters: {},\n version: \"4.3.1\",\n datatype: \"metrics\",\n metricKey: \"dt.host.memory.used\",\n aggregation: \"avg\",\n by: [],\n },\n subType: \"dql-builder-metrics\",\n visualization: \"lineChart\",\n visualizationSettings: {\n thresholds: [],\n chartSettings: {\n gapPolicy: \"connect\",\n circleChartSettings: {\n groupingThresholdType: \"relative\",\n groupingThresholdValue: 0,\n valueType: \"relative\",\n },\n categoryOverrides: {},\n fieldMapping: {\n timestamp: \"timeframe\",\n leftAxisValues: [\"avg(dt.host.memory.used)\"],\n leftAxisDimensions: [],\n fields: [],\n values: [],\n },\n categoricalBarChartSettings: {},\n },\n singleValue: {\n showLabel: true,\n label: \"\",\n prefixIcon: \"\",\n autoscale: true,\n alignment: \"center\",\n colorThresholdTarget: \"value\",\n },\n table: {\n rowDensity: \"condensed\",\n enableSparklines: false,\n hiddenColumns: [],\n lineWrapIds: [],\n columnWidths: {},\n },\n },\n },\n },\n layouts: {\n \"0\": {\n x: 0,\n y: 0,\n w: 24,\n h: 14,\n },\n \"1\": {\n x: 0,\n y: 14,\n w: 9,\n h: 6,\n },\n \"2\": {\n x: 15,\n y: 14,\n w: 9,\n h: 6,\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumiverse_dynatrace as dynatrace\n\nthis = dynatrace.Document(\"this\",\n type=\"dashboard\",\n content=json.dumps({\n \"version\": 13,\n \"variables\": [],\n \"tiles\": {\n \"0\": {\n \"type\": \"markdown\",\n \"title\": \"\",\n \"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n \"1\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.cpu.user)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.cpu.user\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.cpu.user)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n \"2\": {\n \"type\": \"data\",\n \"title\": \"\",\n \"query\": \"timeseries avg(dt.host.memory.used)\",\n \"queryConfig\": {\n \"additionalFilters\": {},\n \"version\": \"4.3.1\",\n \"datatype\": \"metrics\",\n \"metricKey\": \"dt.host.memory.used\",\n \"aggregation\": \"avg\",\n \"by\": [],\n },\n \"subType\": \"dql-builder-metrics\",\n \"visualization\": \"lineChart\",\n \"visualizationSettings\": {\n \"thresholds\": [],\n \"chartSettings\": {\n \"gapPolicy\": \"connect\",\n \"circleChartSettings\": {\n \"groupingThresholdType\": \"relative\",\n \"groupingThresholdValue\": 0,\n \"valueType\": \"relative\",\n },\n \"categoryOverrides\": {},\n \"fieldMapping\": {\n \"timestamp\": \"timeframe\",\n \"leftAxisValues\": [\"avg(dt.host.memory.used)\"],\n \"leftAxisDimensions\": [],\n \"fields\": [],\n \"values\": [],\n },\n \"categoricalBarChartSettings\": {},\n },\n \"singleValue\": {\n \"showLabel\": True,\n \"label\": \"\",\n \"prefixIcon\": \"\",\n \"autoscale\": True,\n \"alignment\": \"center\",\n \"colorThresholdTarget\": \"value\",\n },\n \"table\": {\n \"rowDensity\": \"condensed\",\n \"enableSparklines\": False,\n \"hiddenColumns\": [],\n \"lineWrapIds\": [],\n \"columnWidths\": {},\n },\n },\n },\n },\n \"layouts\": {\n \"0\": {\n \"x\": 0,\n \"y\": 0,\n \"w\": 24,\n \"h\": 14,\n },\n \"1\": {\n \"x\": 0,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n \"2\": {\n \"x\": 15,\n \"y\": 14,\n \"w\": 9,\n \"h\": 6,\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Dynatrace.Document(\"this\", new()\n {\n Type = \"dashboard\",\n Content = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"version\"] = 13,\n [\"variables\"] = new[]\n {\n },\n [\"tiles\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"markdown\",\n [\"title\"] = \"\",\n [\"content\"] = \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.cpu.user)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.cpu.user\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.cpu.user)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"data\",\n [\"title\"] = \"\",\n [\"query\"] = \"timeseries avg(dt.host.memory.used)\",\n [\"queryConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"additionalFilters\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"version\"] = \"4.3.1\",\n [\"datatype\"] = \"metrics\",\n [\"metricKey\"] = \"dt.host.memory.used\",\n [\"aggregation\"] = \"avg\",\n [\"by\"] = new[]\n {\n },\n },\n [\"subType\"] = \"dql-builder-metrics\",\n [\"visualization\"] = \"lineChart\",\n [\"visualizationSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"thresholds\"] = new[]\n {\n },\n [\"chartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"gapPolicy\"] = \"connect\",\n [\"circleChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"groupingThresholdType\"] = \"relative\",\n [\"groupingThresholdValue\"] = 0,\n [\"valueType\"] = \"relative\",\n },\n [\"categoryOverrides\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"fieldMapping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"timestamp\"] = \"timeframe\",\n [\"leftAxisValues\"] = new[]\n {\n \"avg(dt.host.memory.used)\",\n },\n [\"leftAxisDimensions\"] = new[]\n {\n },\n [\"fields\"] = new[]\n {\n },\n [\"values\"] = new[]\n {\n },\n },\n [\"categoricalBarChartSettings\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"singleValue\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"showLabel\"] = true,\n [\"label\"] = \"\",\n [\"prefixIcon\"] = \"\",\n [\"autoscale\"] = true,\n [\"alignment\"] = \"center\",\n [\"colorThresholdTarget\"] = \"value\",\n },\n [\"table\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"rowDensity\"] = \"condensed\",\n [\"enableSparklines\"] = false,\n [\"hiddenColumns\"] = new[]\n {\n },\n [\"lineWrapIds\"] = new[]\n {\n },\n [\"columnWidths\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n },\n [\"layouts\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"0\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 0,\n [\"w\"] = 24,\n [\"h\"] = 14,\n },\n [\"1\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 0,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n [\"2\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"x\"] = 15,\n [\"y\"] = 14,\n [\"w\"] = 9,\n [\"h\"] = 6,\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"version\": 13,\n\t\t\t\"variables\": []interface{}{},\n\t\t\t\"tiles\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"markdown\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"content\": \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\",\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.cpu.user)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.cpu.user\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.cpu.user)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"type\": \"data\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"query\": \"timeseries avg(dt.host.memory.used)\",\n\t\t\t\t\t\"queryConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"additionalFilters\": map[string]interface{}{},\n\t\t\t\t\t\t\"version\": \"4.3.1\",\n\t\t\t\t\t\t\"datatype\": \"metrics\",\n\t\t\t\t\t\t\"metricKey\": \"dt.host.memory.used\",\n\t\t\t\t\t\t\"aggregation\": \"avg\",\n\t\t\t\t\t\t\"by\": []interface{}{},\n\t\t\t\t\t},\n\t\t\t\t\t\"subType\": \"dql-builder-metrics\",\n\t\t\t\t\t\"visualization\": \"lineChart\",\n\t\t\t\t\t\"visualizationSettings\": map[string]interface{}{\n\t\t\t\t\t\t\"thresholds\": []interface{}{},\n\t\t\t\t\t\t\"chartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\"gapPolicy\": \"connect\",\n\t\t\t\t\t\t\t\"circleChartSettings\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"groupingThresholdType\": \"relative\",\n\t\t\t\t\t\t\t\t\"groupingThresholdValue\": 0,\n\t\t\t\t\t\t\t\t\"valueType\": \"relative\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoryOverrides\": map[string]interface{}{},\n\t\t\t\t\t\t\t\"fieldMapping\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"timestamp\": \"timeframe\",\n\t\t\t\t\t\t\t\t\"leftAxisValues\": []string{\n\t\t\t\t\t\t\t\t\t\"avg(dt.host.memory.used)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"leftAxisDimensions\": []interface{}{},\n\t\t\t\t\t\t\t\t\"fields\": []interface{}{},\n\t\t\t\t\t\t\t\t\"values\": []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"categoricalBarChartSettings\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"singleValue\": map[string]interface{}{\n\t\t\t\t\t\t\t\"showLabel\": true,\n\t\t\t\t\t\t\t\"label\": \"\",\n\t\t\t\t\t\t\t\"prefixIcon\": \"\",\n\t\t\t\t\t\t\t\"autoscale\": true,\n\t\t\t\t\t\t\t\"alignment\": \"center\",\n\t\t\t\t\t\t\t\"colorThresholdTarget\": \"value\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"table\": map[string]interface{}{\n\t\t\t\t\t\t\t\"rowDensity\": \"condensed\",\n\t\t\t\t\t\t\t\"enableSparklines\": false,\n\t\t\t\t\t\t\t\"hiddenColumns\": []interface{}{},\n\t\t\t\t\t\t\t\"lineWrapIds\": []interface{}{},\n\t\t\t\t\t\t\t\"columnWidths\": map[string]interface{}{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"layouts\": map[string]interface{}{\n\t\t\t\t\"0\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 0,\n\t\t\t\t\t\"w\": 24,\n\t\t\t\t\t\"h\": 14,\n\t\t\t\t},\n\t\t\t\t\"1\": map[string]interface{}{\n\t\t\t\t\t\"x\": 0,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\n\t\t\t\t},\n\t\t\t\t\"2\": map[string]interface{}{\n\t\t\t\t\t\"x\": 15,\n\t\t\t\t\t\"y\": 14,\n\t\t\t\t\t\"w\": 9,\n\t\t\t\t\t\"h\": 6,\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\tjson0 := string(tmpJSON0)\n\t\t_, err = dynatrace.NewDocument(ctx, \"this\", \u0026dynatrace.DocumentArgs{\n\t\t\tType: pulumi.String(\"dashboard\"),\n\t\t\tContent: pulumi.String(json0),\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.dynatrace.Document;\nimport com.pulumi.dynatrace.DocumentArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Document(\"this\", DocumentArgs.builder()\n .type(\"dashboard\")\n .content(serializeJson(\n jsonObject(\n jsonProperty(\"version\", 13),\n jsonProperty(\"variables\", jsonArray(\n )),\n jsonProperty(\"tiles\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"type\", \"markdown\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"content\", \"![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)\")\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.cpu.user)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.cpu.user\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.cpu.user)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"type\", \"data\"),\n jsonProperty(\"title\", \"\"),\n jsonProperty(\"query\", \"timeseries avg(dt.host.memory.used)\"),\n jsonProperty(\"queryConfig\", jsonObject(\n jsonProperty(\"additionalFilters\", jsonObject(\n\n )),\n jsonProperty(\"version\", \"4.3.1\"),\n jsonProperty(\"datatype\", \"metrics\"),\n jsonProperty(\"metricKey\", \"dt.host.memory.used\"),\n jsonProperty(\"aggregation\", \"avg\"),\n jsonProperty(\"by\", jsonArray(\n ))\n )),\n jsonProperty(\"subType\", \"dql-builder-metrics\"),\n jsonProperty(\"visualization\", \"lineChart\"),\n jsonProperty(\"visualizationSettings\", jsonObject(\n jsonProperty(\"thresholds\", jsonArray(\n )),\n jsonProperty(\"chartSettings\", jsonObject(\n jsonProperty(\"gapPolicy\", \"connect\"),\n jsonProperty(\"circleChartSettings\", jsonObject(\n jsonProperty(\"groupingThresholdType\", \"relative\"),\n jsonProperty(\"groupingThresholdValue\", 0),\n jsonProperty(\"valueType\", \"relative\")\n )),\n jsonProperty(\"categoryOverrides\", jsonObject(\n\n )),\n jsonProperty(\"fieldMapping\", jsonObject(\n jsonProperty(\"timestamp\", \"timeframe\"),\n jsonProperty(\"leftAxisValues\", jsonArray(\"avg(dt.host.memory.used)\")),\n jsonProperty(\"leftAxisDimensions\", jsonArray(\n )),\n jsonProperty(\"fields\", jsonArray(\n )),\n jsonProperty(\"values\", jsonArray(\n ))\n )),\n jsonProperty(\"categoricalBarChartSettings\", jsonObject(\n\n ))\n )),\n jsonProperty(\"singleValue\", jsonObject(\n jsonProperty(\"showLabel\", true),\n jsonProperty(\"label\", \"\"),\n jsonProperty(\"prefixIcon\", \"\"),\n jsonProperty(\"autoscale\", true),\n jsonProperty(\"alignment\", \"center\"),\n jsonProperty(\"colorThresholdTarget\", \"value\")\n )),\n jsonProperty(\"table\", jsonObject(\n jsonProperty(\"rowDensity\", \"condensed\"),\n jsonProperty(\"enableSparklines\", false),\n jsonProperty(\"hiddenColumns\", jsonArray(\n )),\n jsonProperty(\"lineWrapIds\", jsonArray(\n )),\n jsonProperty(\"columnWidths\", jsonObject(\n\n ))\n ))\n ))\n ))\n )),\n jsonProperty(\"layouts\", jsonObject(\n jsonProperty(\"0\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 0),\n jsonProperty(\"w\", 24),\n jsonProperty(\"h\", 14)\n )),\n jsonProperty(\"1\", jsonObject(\n jsonProperty(\"x\", 0),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n )),\n jsonProperty(\"2\", jsonObject(\n jsonProperty(\"x\", 15),\n jsonProperty(\"y\", 14),\n jsonProperty(\"w\", 9),\n jsonProperty(\"h\", 6)\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: dynatrace:Document\n properties:\n type: dashboard\n content:\n fn::toJSON:\n version: 13\n variables: []\n tiles:\n '0':\n type: markdown\n title: \"\"\n content: '![Image of a Dashboard](https://dt-cdn.net/wp-content/uploads/2022/09/pic1____Dashboard-Preset___PNG.png)'\n '1':\n type: data\n title: \"\"\n query: timeseries avg(dt.host.cpu.user)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.cpu.user\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.cpu.user)\n leftAxisDimensions: []\n fields: []\n values: []\n singleValue:\n showLabel: true\n label: \"\"\n prefixIcon: \"\"\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n '2':\n type: data\n title: \"\"\n query: timeseries avg(dt.host.memory.used)\n queryConfig:\n additionalFilters: {}\n version: 4.3.1\n datatype: metrics\n metricKey: dt.host.memory.used\n aggregation: avg\n by: []\n subType: dql-builder-metrics\n visualization: lineChart\n visualizationSettings:\n thresholds: []\n chartSettings:\n gapPolicy: connect\n circleChartSettings:\n groupingThresholdType: relative\n groupingThresholdValue: 0\n valueType: relative\n categoryOverrides: {}\n fieldMapping:\n timestamp: timeframe\n leftAxisValues:\n - avg(dt.host.memory.used)\n leftAxisDimensions: []\n fields: []\n values: []\n categoricalBarChartSettings: {}\n singleValue:\n showLabel: true\n label: \"\"\n prefixIcon: \"\"\n autoscale: true\n alignment: center\n colorThresholdTarget: value\n table:\n rowDensity: condensed\n enableSparklines: false\n hiddenColumns: []\n lineWrapIds: []\n columnWidths: {}\n layouts:\n '0':\n x: 0\n y: 0\n w: 24\n h: 14\n '1':\n x: 0\n y: 14\n w: 9\n h: 6\n '2':\n x: 15\n y: 14\n w: 9\n h: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "actor": { "type": "string", @@ -53656,6 +53862,78 @@ "type": "object" } }, + "dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections": { + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name.\n" + }, + "token": { + "type": "string", + "description": "API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `Api_token`\n" + }, + "url": { + "type": "string", + "description": "URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010\n" + } + }, + "required": [ + "name", + "type", + "url" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name.\n" + }, + "token": { + "type": "string", + "description": "API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `Api_token`\n" + }, + "url": { + "type": "string", + "description": "URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010\n" + } + }, + "requiredInputs": [ + "type", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering EventDrivenAnsibleConnections resources.\n", + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name.\n" + }, + "token": { + "type": "string", + "description": "API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `Api_token`\n" + }, + "url": { + "type": "string", + "description": "URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010\n" + } + }, + "type": "object" + } + }, "dynatrace:index/extensionExecutionController:ExtensionExecutionController": { "properties": { "enabled": { @@ -53967,6 +54245,10 @@ "type": "boolean", "description": "Detect frequent issues within applications, enabled (`true`) or disabled (`false`)\n" }, + "detectEnv": { + "type": "boolean", + "description": "Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure.\n" + }, "detectInfra": { "type": "boolean", "description": "Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`)\n" @@ -53986,6 +54268,10 @@ "type": "boolean", "description": "Detect frequent issues within applications, enabled (`true`) or disabled (`false`)\n" }, + "detectEnv": { + "type": "boolean", + "description": "Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure.\n" + }, "detectInfra": { "type": "boolean", "description": "Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`)\n" @@ -54007,6 +54293,10 @@ "type": "boolean", "description": "Detect frequent issues within applications, enabled (`true`) or disabled (`false`)\n" }, + "detectEnv": { + "type": "boolean", + "description": "Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure.\n" + }, "detectInfra": { "type": "boolean", "description": "Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`)\n" @@ -54340,6 +54630,66 @@ "type": "object" } }, + "dynatrace:index/gitlabConnection:GitlabConnection": { + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name to your GitLab instance.\n" + }, + "token": { + "type": "string", + "description": "The GitLab token to use for authentication. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "url": { + "type": "string", + "description": "The GitLab URL instance you want to connect. For example, https://gitlab.com\n" + } + }, + "required": [ + "name", + "token", + "url" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name to your GitLab instance.\n" + }, + "token": { + "type": "string", + "description": "The GitLab token to use for authentication. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "url": { + "type": "string", + "description": "The GitLab URL instance you want to connect. For example, https://gitlab.com\n" + } + }, + "requiredInputs": [ + "token", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering GitlabConnection resources.\n", + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name to your GitLab instance.\n" + }, + "token": { + "type": "string", + "description": "The GitLab token to use for authentication. Please note that this token is not refreshed and can expire.\n", + "secret": true + }, + "url": { + "type": "string", + "description": "The GitLab URL instance you want to connect. For example, https://gitlab.com\n" + } + }, + "type": "object" + } + }, "dynatrace:index/goldenState:GoldenState": { "properties": { "dynatraceAixExtensions": { @@ -58549,6 +58899,10 @@ }, "dynatrace:index/infraopsAppSettings:InfraopsAppSettings": { "properties": { + "interfaceSaturationThreshold": { + "type": "number", + "description": "(Required v305+) The threshold at which a network device interface is deemed to be saturated.\n" + }, "showMonitoringCandidates": { "type": "boolean", "description": "When set to true, the app will display monitoring candidates in the Hosts table\n" @@ -58563,6 +58917,10 @@ "showStandaloneHosts" ], "inputProperties": { + "interfaceSaturationThreshold": { + "type": "number", + "description": "(Required v305+) The threshold at which a network device interface is deemed to be saturated.\n" + }, "showMonitoringCandidates": { "type": "boolean", "description": "When set to true, the app will display monitoring candidates in the Hosts table\n" @@ -58579,6 +58937,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering InfraopsAppSettings resources.\n", "properties": { + "interfaceSaturationThreshold": { + "type": "number", + "description": "(Required v305+) The threshold at which a network device interface is deemed to be saturated.\n" + }, "showMonitoringCandidates": { "type": "boolean", "description": "When set to true, the app will display monitoring candidates in the Hosts table\n" @@ -58801,6 +59163,80 @@ "type": "object" } }, + "dynatrace:index/jenkinsConnection:JenkinsConnection": { + "properties": { + "name": { + "type": "string", + "description": "The name of the Jenkins connection\n" + }, + "password": { + "type": "string", + "description": "The password of the user or API token obtained from the Jenkins UI (Dashboard \u003e User \u003e Configure \u003e API Token)\n", + "secret": true + }, + "url": { + "type": "string", + "description": "Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/)\n" + }, + "username": { + "type": "string", + "description": "The name of your Jenkins user (e.g. jenkins)\n" + } + }, + "required": [ + "name", + "password", + "url", + "username" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "The name of the Jenkins connection\n" + }, + "password": { + "type": "string", + "description": "The password of the user or API token obtained from the Jenkins UI (Dashboard \u003e User \u003e Configure \u003e API Token)\n", + "secret": true + }, + "url": { + "type": "string", + "description": "Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/)\n" + }, + "username": { + "type": "string", + "description": "The name of your Jenkins user (e.g. jenkins)\n" + } + }, + "requiredInputs": [ + "password", + "url", + "username" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering JenkinsConnection resources.\n", + "properties": { + "name": { + "type": "string", + "description": "The name of the Jenkins connection\n" + }, + "password": { + "type": "string", + "description": "The password of the user or API token obtained from the Jenkins UI (Dashboard \u003e User \u003e Configure \u003e API Token)\n", + "secret": true + }, + "url": { + "type": "string", + "description": "Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/)\n" + }, + "username": { + "type": "string", + "description": "The name of your Jenkins user (e.g. jenkins)\n" + } + }, + "type": "object" + } + }, "dynatrace:index/jiraNotification:JiraNotification": { "properties": { "active": { @@ -60635,7 +61071,7 @@ "properties": { "key": { "type": "string", - "description": "The attribute key is case insensitive in log data ingestion.\n" + "description": "The attribute key is case sensitive in log data ingestion.\n" }, "sidebar": { "type": "boolean", @@ -60649,7 +61085,7 @@ "inputProperties": { "key": { "type": "string", - "description": "The attribute key is case insensitive in log data ingestion.\n", + "description": "The attribute key is case sensitive in log data ingestion.\n", "willReplaceOnChanges": true }, "sidebar": { @@ -60666,7 +61102,7 @@ "properties": { "key": { "type": "string", - "description": "The attribute key is case insensitive in log data ingestion.\n", + "description": "The attribute key is case sensitive in log data ingestion.\n", "willReplaceOnChanges": true }, "sidebar": { @@ -64487,6 +64923,168 @@ "type": "object" } }, + "dynatrace:index/msentraidConnection:MsentraidConnection": { + "properties": { + "applicationId": { + "type": "string", + "description": "Application (client) ID of your app registered in Microsoft Azure App registrations\n", + "secret": true + }, + "clientSecret": { + "type": "string", + "description": "Client secret of your app registered in Microsoft Azure App registrations\n", + "secret": true + }, + "description": { + "type": "string", + "description": "Description\n" + }, + "directoryId": { + "type": "string", + "description": "Directory (tenant) ID of Microsoft Entra Identity Developer\n", + "secret": true + }, + "name": { + "type": "string", + "description": "The name of the Microsoft Entra Identity Developer connection\n" + } + }, + "required": [ + "applicationId", + "clientSecret", + "directoryId", + "name" + ], + "inputProperties": { + "applicationId": { + "type": "string", + "description": "Application (client) ID of your app registered in Microsoft Azure App registrations\n", + "secret": true + }, + "clientSecret": { + "type": "string", + "description": "Client secret of your app registered in Microsoft Azure App registrations\n", + "secret": true + }, + "description": { + "type": "string", + "description": "Description\n" + }, + "directoryId": { + "type": "string", + "description": "Directory (tenant) ID of Microsoft Entra Identity Developer\n", + "secret": true + }, + "name": { + "type": "string", + "description": "The name of the Microsoft Entra Identity Developer connection\n" + } + }, + "requiredInputs": [ + "applicationId", + "clientSecret", + "directoryId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MsentraidConnection resources.\n", + "properties": { + "applicationId": { + "type": "string", + "description": "Application (client) ID of your app registered in Microsoft Azure App registrations\n", + "secret": true + }, + "clientSecret": { + "type": "string", + "description": "Client secret of your app registered in Microsoft Azure App registrations\n", + "secret": true + }, + "description": { + "type": "string", + "description": "Description\n" + }, + "directoryId": { + "type": "string", + "description": "Directory (tenant) ID of Microsoft Entra Identity Developer\n", + "secret": true + }, + "name": { + "type": "string", + "description": "The name of the Microsoft Entra Identity Developer connection\n" + } + }, + "type": "object" + } + }, + "dynatrace:index/msteamsConnection:MsteamsConnection": { + "properties": { + "channelName": { + "type": "string", + "description": "Optional\n" + }, + "name": { + "type": "string", + "description": "The name of the Microsoft Teams connection\n" + }, + "teamName": { + "type": "string", + "description": "Optional\n" + }, + "webhook": { + "type": "string", + "description": "The Webhook URL that links to the channel\n", + "secret": true + } + }, + "required": [ + "name", + "webhook" + ], + "inputProperties": { + "channelName": { + "type": "string", + "description": "Optional\n" + }, + "name": { + "type": "string", + "description": "The name of the Microsoft Teams connection\n" + }, + "teamName": { + "type": "string", + "description": "Optional\n" + }, + "webhook": { + "type": "string", + "description": "The Webhook URL that links to the channel\n", + "secret": true + } + }, + "requiredInputs": [ + "webhook" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MsteamsConnection resources.\n", + "properties": { + "channelName": { + "type": "string", + "description": "Optional\n" + }, + "name": { + "type": "string", + "description": "The name of the Microsoft Teams connection\n" + }, + "teamName": { + "type": "string", + "description": "Optional\n" + }, + "webhook": { + "type": "string", + "description": "The Webhook URL that links to the channel\n", + "secret": true + } + }, + "type": "object" + } + }, "dynatrace:index/mutedRequests:MutedRequests": { "properties": { "mutedRequestNames": { @@ -66439,6 +67037,66 @@ "type": "object" } }, + "dynatrace:index/pagerdutyConnection:PagerdutyConnection": { + "properties": { + "name": { + "type": "string", + "description": "The name of the PagerDuty connection\n" + }, + "token": { + "type": "string", + "description": "Token for the PagerDuty API endpoint\n", + "secret": true + }, + "url": { + "type": "string", + "description": "URL of the PagerDuty API endpoint\n" + } + }, + "required": [ + "name", + "token", + "url" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "The name of the PagerDuty connection\n" + }, + "token": { + "type": "string", + "description": "Token for the PagerDuty API endpoint\n", + "secret": true + }, + "url": { + "type": "string", + "description": "URL of the PagerDuty API endpoint\n" + } + }, + "requiredInputs": [ + "token", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering PagerdutyConnection resources.\n", + "properties": { + "name": { + "type": "string", + "description": "The name of the PagerDuty connection\n" + }, + "token": { + "type": "string", + "description": "Token for the PagerDuty API endpoint\n", + "secret": true + }, + "url": { + "type": "string", + "description": "URL of the PagerDuty API endpoint\n" + } + }, + "type": "object" + } + }, "dynatrace:index/pgAlerting:PgAlerting": { "properties": { "alertingMode": { @@ -66820,6 +67478,64 @@ "type": "object" } }, + "dynatrace:index/problemFields:ProblemFields": { + "properties": { + "enabled": { + "type": "boolean", + "description": "This setting is enabled (`true`) or disabled (`false`)\n" + }, + "eventField": { + "type": "string", + "description": "Field from the event that will be extracted.\n" + }, + "problemField": { + "type": "string", + "description": "Field under which the extracted event data will be stored on the problem.\n" + } + }, + "required": [ + "enabled", + "eventField", + "problemField" + ], + "inputProperties": { + "enabled": { + "type": "boolean", + "description": "This setting is enabled (`true`) or disabled (`false`)\n" + }, + "eventField": { + "type": "string", + "description": "Field from the event that will be extracted.\n" + }, + "problemField": { + "type": "string", + "description": "Field under which the extracted event data will be stored on the problem.\n" + } + }, + "requiredInputs": [ + "enabled", + "eventField", + "problemField" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ProblemFields resources.\n", + "properties": { + "enabled": { + "type": "boolean", + "description": "This setting is enabled (`true`) or disabled (`false`)\n" + }, + "eventField": { + "type": "string", + "description": "Field from the event that will be extracted.\n" + }, + "problemField": { + "type": "string", + "description": "Field under which the extracted event data will be stored on the problem.\n" + } + }, + "type": "object" + } + }, "dynatrace:index/problemRecordPropagationRules:ProblemRecordPropagationRules": { "properties": { "enabled": { @@ -67134,6 +67850,10 @@ "type": "string", "description": "The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment.\n" }, + "securitySoftwareDetectionEnabled": { + "type": "boolean", + "description": "This flag enables the detection of security software such as anti-malware protection.\n" + }, "shortLivedProcessesMonitoring": { "type": "boolean", "description": "Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance.\n" @@ -67218,6 +67938,10 @@ "description": "The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment.\n", "willReplaceOnChanges": true }, + "securitySoftwareDetectionEnabled": { + "type": "boolean", + "description": "This flag enables the detection of security software such as anti-malware protection.\n" + }, "shortLivedProcessesMonitoring": { "type": "boolean", "description": "Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance.\n" @@ -67304,6 +68028,10 @@ "description": "The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment.\n", "willReplaceOnChanges": true }, + "securitySoftwareDetectionEnabled": { + "type": "boolean", + "description": "This flag enables the detection of security software such as anti-malware protection.\n" + }, "shortLivedProcessesMonitoring": { "type": "boolean", "description": "Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance.\n" @@ -69776,6 +70504,90 @@ "type": "object" } }, + "dynatrace:index/servicenowConnection:ServicenowConnection": { + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name to your ServiceNow instance.\n" + }, + "password": { + "type": "string", + "description": "Password of the ServiceNow user.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `basic`\n" + }, + "url": { + "type": "string", + "description": "URL of the ServiceNow instance.\n" + }, + "user": { + "type": "string", + "description": "Username or Email address.\n" + } + }, + "required": [ + "name", + "type", + "url" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name to your ServiceNow instance.\n" + }, + "password": { + "type": "string", + "description": "Password of the ServiceNow user.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `basic`\n" + }, + "url": { + "type": "string", + "description": "URL of the ServiceNow instance.\n" + }, + "user": { + "type": "string", + "description": "Username or Email address.\n" + } + }, + "requiredInputs": [ + "type", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ServicenowConnection resources.\n", + "properties": { + "name": { + "type": "string", + "description": "A unique and clearly identifiable connection name to your ServiceNow instance.\n" + }, + "password": { + "type": "string", + "description": "Password of the ServiceNow user.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "Possible Values: `basic`\n" + }, + "url": { + "type": "string", + "description": "URL of the ServiceNow instance.\n" + }, + "user": { + "type": "string", + "description": "Username or Email address.\n" + } + }, + "type": "object" + } + }, "dynatrace:index/sessionReplayResourceCapture:SessionReplayResourceCapture": { "properties": { "applicationId": { @@ -70890,7 +71702,7 @@ }, "countryCode": { "type": "string", - "description": "The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for\nexample, `AT` for Austria or `PL` for Poland)\n" + "description": "The country code of the location. To fetch the list of available country codes, use the [GET all\ncountries](https://dt-url.net/37030go) request\n" }, "deploymentType": { "type": "string", @@ -70933,7 +71745,7 @@ }, "regionCode": { "type": "string", - "description": "The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca)\nuse ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the\nrest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes)\n" + "description": "The region code of the location. To fetch the list of available region codes, use the [GET regions of the\ncountry](https://dt-url.net/az230x0) request\n" } }, "required": [ @@ -70964,7 +71776,7 @@ }, "countryCode": { "type": "string", - "description": "The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for\nexample, `AT` for Austria or `PL` for Poland)\n" + "description": "The country code of the location. To fetch the list of available country codes, use the [GET all\ncountries](https://dt-url.net/37030go) request\n" }, "deploymentType": { "type": "string", @@ -71007,7 +71819,7 @@ }, "regionCode": { "type": "string", - "description": "The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca)\nuse ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the\nrest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes)\n" + "description": "The region code of the location. To fetch the list of available region codes, use the [GET regions of the\ncountry](https://dt-url.net/az230x0) request\n" } }, "requiredInputs": [ @@ -71039,7 +71851,7 @@ }, "countryCode": { "type": "string", - "description": "The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for\nexample, `AT` for Austria or `PL` for Poland)\n" + "description": "The country code of the location. To fetch the list of available country codes, use the [GET all\ncountries](https://dt-url.net/37030go) request\n" }, "deploymentType": { "type": "string", @@ -71082,7 +71894,7 @@ }, "regionCode": { "type": "string", - "description": "The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca)\nuse ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the\nrest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes)\n" + "description": "The region code of the location. To fetch the list of available region codes, use the [GET regions of the\ncountry](https://dt-url.net/az230x0) request\n" } }, "type": "object" @@ -74708,7 +75520,7 @@ }, "functions": { "dynatrace:index/getAlertingProfile:getAlertingProfile": { - "description": "The Alerting Profile queries for an Alerting Profile that has a specified name. In case multiple Alerting Profiles share the same name the first one found will be used.\nThe ID of this Data Resource aligns with the IDs used by the Dynatrace Settings 2.0 API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst default = dynatrace.getAlertingProfile({\n name: \"Default\",\n});\nconst myWebhookNotification = new dynatrace.WebhookNotification(\"myWebhookNotification\", {\n active: false,\n profile: _default.then(_default =\u003e _default.id),\n url: \"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\",\n insecure: true,\n notifyEventMerges: true,\n notifyClosedProblems: true,\n payload: \"web-hook-payload\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ndefault = dynatrace.get_alerting_profile(name=\"Default\")\nmy_webhook_notification = dynatrace.WebhookNotification(\"myWebhookNotification\",\n active=False,\n profile=default.id,\n url=\"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\",\n insecure=True,\n notify_event_merges=True,\n notify_closed_problems=True,\n payload=\"web-hook-payload\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Dynatrace.GetAlertingProfile.Invoke(new()\n {\n Name = \"Default\",\n });\n\n var myWebhookNotification = new Dynatrace.WebhookNotification(\"myWebhookNotification\", new()\n {\n Active = false,\n Profile = @default.Apply(@default =\u003e @default.Apply(getAlertingProfileResult =\u003e getAlertingProfileResult.Id)),\n Url = \"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\",\n Insecure = true,\n NotifyEventMerges = true,\n NotifyClosedProblems = true,\n Payload = \"web-hook-payload\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dynatrace.LookupAlertingProfile(ctx, \u0026dynatrace.LookupAlertingProfileArgs{\n\t\t\tName: \"Default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewWebhookNotification(ctx, \"myWebhookNotification\", \u0026dynatrace.WebhookNotificationArgs{\n\t\t\tActive: pulumi.Bool(false),\n\t\t\tProfile: pulumi.String(_default.Id),\n\t\t\tUrl: pulumi.String(\"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\"),\n\t\t\tInsecure: pulumi.Bool(true),\n\t\t\tNotifyEventMerges: pulumi.Bool(true),\n\t\t\tNotifyClosedProblems: pulumi.Bool(true),\n\t\t\tPayload: pulumi.String(\"web-hook-payload\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAlertingProfileArgs;\nimport com.pulumi.dynatrace.WebhookNotification;\nimport com.pulumi.dynatrace.WebhookNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = DynatraceFunctions.getAlertingProfile(GetAlertingProfileArgs.builder()\n .name(\"Default\")\n .build());\n\n var myWebhookNotification = new WebhookNotification(\"myWebhookNotification\", WebhookNotificationArgs.builder()\n .active(false)\n .profile(default_.id())\n .url(\"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\")\n .insecure(true)\n .notifyEventMerges(true)\n .notifyClosedProblems(true)\n .payload(\"web-hook-payload\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myWebhookNotification:\n type: dynatrace:WebhookNotification\n properties:\n active: false\n profile: ${default.id}\n url: https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\n insecure: true\n notifyEventMerges: true\n notifyClosedProblems: true\n payload: web-hook-payload\nvariables:\n default:\n fn::invoke:\n Function: dynatrace:getAlertingProfile\n Arguments:\n name: Default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Alerting Profile queries for an Alerting Profile that has a specified name. In case multiple Alerting Profiles share the same name the first one found will be used.\nThe ID of this Data Resource aligns with the IDs used by the Dynatrace Settings 2.0 API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst default = dynatrace.getAlertingProfile({\n name: \"Default\",\n});\nconst myWebhookNotification = new dynatrace.WebhookNotification(\"myWebhookNotification\", {\n active: false,\n profile: _default.then(_default =\u003e _default.id),\n url: \"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\",\n insecure: true,\n notifyEventMerges: true,\n notifyClosedProblems: true,\n payload: \"web-hook-payload\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ndefault = dynatrace.get_alerting_profile(name=\"Default\")\nmy_webhook_notification = dynatrace.WebhookNotification(\"myWebhookNotification\",\n active=False,\n profile=default.id,\n url=\"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\",\n insecure=True,\n notify_event_merges=True,\n notify_closed_problems=True,\n payload=\"web-hook-payload\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Dynatrace.GetAlertingProfile.Invoke(new()\n {\n Name = \"Default\",\n });\n\n var myWebhookNotification = new Dynatrace.WebhookNotification(\"myWebhookNotification\", new()\n {\n Active = false,\n Profile = @default.Apply(@default =\u003e @default.Apply(getAlertingProfileResult =\u003e getAlertingProfileResult.Id)),\n Url = \"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\",\n Insecure = true,\n NotifyEventMerges = true,\n NotifyClosedProblems = true,\n Payload = \"web-hook-payload\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dynatrace.LookupAlertingProfile(ctx, \u0026dynatrace.LookupAlertingProfileArgs{\n\t\t\tName: \"Default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewWebhookNotification(ctx, \"myWebhookNotification\", \u0026dynatrace.WebhookNotificationArgs{\n\t\t\tActive: pulumi.Bool(false),\n\t\t\tProfile: pulumi.String(_default.Id),\n\t\t\tUrl: pulumi.String(\"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\"),\n\t\t\tInsecure: pulumi.Bool(true),\n\t\t\tNotifyEventMerges: pulumi.Bool(true),\n\t\t\tNotifyClosedProblems: pulumi.Bool(true),\n\t\t\tPayload: pulumi.String(\"web-hook-payload\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAlertingProfileArgs;\nimport com.pulumi.dynatrace.WebhookNotification;\nimport com.pulumi.dynatrace.WebhookNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = DynatraceFunctions.getAlertingProfile(GetAlertingProfileArgs.builder()\n .name(\"Default\")\n .build());\n\n var myWebhookNotification = new WebhookNotification(\"myWebhookNotification\", WebhookNotificationArgs.builder()\n .active(false)\n .profile(default_.id())\n .url(\"https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\")\n .insecure(true)\n .notifyEventMerges(true)\n .notifyClosedProblems(true)\n .payload(\"web-hook-payload\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myWebhookNotification:\n type: dynatrace:WebhookNotification\n properties:\n active: false\n profile: ${default.id}\n url: https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e\n insecure: true\n notifyEventMerges: true\n notifyClosedProblems: true\n payload: web-hook-payload\nvariables:\n default:\n fn::invoke:\n function: dynatrace:getAlertingProfile\n arguments:\n name: Default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAlertingProfile.\n", "properties": { @@ -74785,7 +75597,7 @@ } }, "dynatrace:index/getApiToken:getApiToken": { - "description": "The API token data source allows a single access token to be retrieved by its name, note the token value is not included in the response.\n\nIf multiple tokens match the given name, the first result will be retrieved. To retrieve multiple tokens of the same name, please utilize the `dynatrace.getApiTokens` data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst exampleApiToken = dynatrace.getApiToken({\n name: \"Terraform\",\n});\nexport const example = exampleApiToken;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample_api_token = dynatrace.get_api_token(name=\"Terraform\")\npulumi.export(\"example\", example_api_token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleApiToken = Dynatrace.GetApiToken.Invoke(new()\n {\n Name = \"Terraform\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = exampleApiToken,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApiToken, err := dynatrace.LookupApiToken(ctx, \u0026dynatrace.LookupApiTokenArgs{\n\t\t\tName: \"Terraform\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleApiToken)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetApiTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleApiToken = DynatraceFunctions.getApiToken(GetApiTokenArgs.builder()\n .name(\"Terraform\")\n .build());\n\n ctx.export(\"example\", exampleApiToken.applyValue(getApiTokenResult -\u003e getApiTokenResult));\n }\n}\n```\n```yaml\nvariables:\n exampleApiToken:\n fn::invoke:\n Function: dynatrace:getApiToken\n Arguments:\n name: Terraform\noutputs:\n example: ${exampleApiToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The API token data source allows a single access token to be retrieved by its name, note the token value is not included in the response.\n\nIf multiple tokens match the given name, the first result will be retrieved. To retrieve multiple tokens of the same name, please utilize the `dynatrace.getApiTokens` data source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst exampleApiToken = dynatrace.getApiToken({\n name: \"Terraform\",\n});\nexport const example = exampleApiToken;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample_api_token = dynatrace.get_api_token(name=\"Terraform\")\npulumi.export(\"example\", example_api_token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleApiToken = Dynatrace.GetApiToken.Invoke(new()\n {\n Name = \"Terraform\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = exampleApiToken,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApiToken, err := dynatrace.LookupApiToken(ctx, \u0026dynatrace.LookupApiTokenArgs{\n\t\t\tName: \"Terraform\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleApiToken)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetApiTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleApiToken = DynatraceFunctions.getApiToken(GetApiTokenArgs.builder()\n .name(\"Terraform\")\n .build());\n\n ctx.export(\"example\", exampleApiToken.applyValue(getApiTokenResult -\u003e getApiTokenResult));\n }\n}\n```\n```yaml\nvariables:\n exampleApiToken:\n fn::invoke:\n function: dynatrace:getApiToken\n arguments:\n name: Terraform\noutputs:\n example: ${exampleApiToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApiToken.\n", "properties": { @@ -74850,7 +75662,7 @@ } }, "dynatrace:index/getApiTokens:getApiTokens": { - "description": "The API tokens data source allows all access tokens to be retrieved, note the token value is not included in the response.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst exampleApiTokens = dynatrace.getApiTokens({});\nexport const example = exampleApiTokens;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample_api_tokens = dynatrace.get_api_tokens()\npulumi.export(\"example\", example_api_tokens)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleApiTokens = Dynatrace.GetApiTokens.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = exampleApiTokens,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApiTokens, err := dynatrace.GetApiTokens(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleApiTokens)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleApiTokens = DynatraceFunctions.getApiTokens();\n\n ctx.export(\"example\", exampleApiTokens.applyValue(getApiTokensResult -\u003e getApiTokensResult));\n }\n}\n```\n```yaml\nvariables:\n exampleApiTokens:\n fn::invoke:\n Function: dynatrace:getApiTokens\n Arguments: {}\noutputs:\n example: ${exampleApiTokens}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The API tokens data source allows all access tokens to be retrieved, note the token value is not included in the response.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst exampleApiTokens = dynatrace.getApiTokens({});\nexport const example = exampleApiTokens;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample_api_tokens = dynatrace.get_api_tokens()\npulumi.export(\"example\", example_api_tokens)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleApiTokens = Dynatrace.GetApiTokens.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = exampleApiTokens,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApiTokens, err := dynatrace.GetApiTokens(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleApiTokens)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleApiTokens = DynatraceFunctions.getApiTokens();\n\n ctx.export(\"example\", exampleApiTokens.applyValue(getApiTokensResult -\u003e getApiTokensResult));\n }\n}\n```\n```yaml\nvariables:\n exampleApiTokens:\n fn::invoke:\n function: dynatrace:getApiTokens\n arguments: {}\noutputs:\n example: ${exampleApiTokens}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getApiTokens.\n", "properties": { @@ -74873,7 +75685,7 @@ } }, "dynatrace:index/getApplication:getApplication": { - "description": "The application data source allows the application ID to be retrieved by its name.\n\n- `name` queries for all applications with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getApplication({\n name: \"Example\",\n});\nconst _name_ = new dynatrace.ApplicationDetectionRule(\"#name#\", {\n applicationIdentifier: test.then(test =\u003e test.id),\n filterConfig: {\n applicationMatchTarget: \"DOMAIN\",\n applicationMatchType: \"MATCHES\",\n pattern: \"www.google.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_application(name=\"Example\")\n_name_ = dynatrace.ApplicationDetectionRule(\"#name#\",\n application_identifier=test.id,\n filter_config={\n \"application_match_target\": \"DOMAIN\",\n \"application_match_type\": \"MATCHES\",\n \"pattern\": \"www.google.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetApplication.Invoke(new()\n {\n Name = \"Example\",\n });\n\n var _name_ = new Dynatrace.ApplicationDetectionRule(\"#name#\", new()\n {\n ApplicationIdentifier = test.Apply(getApplicationResult =\u003e getApplicationResult.Id),\n FilterConfig = new Dynatrace.Inputs.ApplicationDetectionRuleFilterConfigArgs\n {\n ApplicationMatchTarget = \"DOMAIN\",\n ApplicationMatchType = \"MATCHES\",\n Pattern = \"www.google.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetApplication(ctx, \u0026dynatrace.GetApplicationArgs{\n\t\t\tName: \"Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewApplicationDetectionRule(ctx, \"#name#\", \u0026dynatrace.ApplicationDetectionRuleArgs{\n\t\t\tApplicationIdentifier: pulumi.String(test.Id),\n\t\t\tFilterConfig: \u0026dynatrace.ApplicationDetectionRuleFilterConfigArgs{\n\t\t\t\tApplicationMatchTarget: pulumi.String(\"DOMAIN\"),\n\t\t\t\tApplicationMatchType: pulumi.String(\"MATCHES\"),\n\t\t\t\tPattern: pulumi.String(\"www.google.com\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetApplicationArgs;\nimport com.pulumi.dynatrace.ApplicationDetectionRule;\nimport com.pulumi.dynatrace.ApplicationDetectionRuleArgs;\nimport com.pulumi.dynatrace.inputs.ApplicationDetectionRuleFilterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getApplication(GetApplicationArgs.builder()\n .name(\"Example\")\n .build());\n\n var _name_ = new ApplicationDetectionRule(\"#name#\", ApplicationDetectionRuleArgs.builder()\n .applicationIdentifier(test.applyValue(getApplicationResult -\u003e getApplicationResult.id()))\n .filterConfig(ApplicationDetectionRuleFilterConfigArgs.builder()\n .applicationMatchTarget(\"DOMAIN\")\n .applicationMatchType(\"MATCHES\")\n .pattern(\"www.google.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ApplicationDetectionRule\n properties:\n applicationIdentifier: ${test.id}\n filterConfig:\n applicationMatchTarget: DOMAIN\n applicationMatchType: MATCHES\n pattern: www.google.com\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getApplication\n Arguments:\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The application data source allows the application ID to be retrieved by its name.\n\n- `name` queries for all applications with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getApplication({\n name: \"Example\",\n});\nconst _name_ = new dynatrace.ApplicationDetectionRule(\"#name#\", {\n applicationIdentifier: test.then(test =\u003e test.id),\n filterConfig: {\n applicationMatchTarget: \"DOMAIN\",\n applicationMatchType: \"MATCHES\",\n pattern: \"www.google.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_application(name=\"Example\")\n_name_ = dynatrace.ApplicationDetectionRule(\"#name#\",\n application_identifier=test.id,\n filter_config={\n \"application_match_target\": \"DOMAIN\",\n \"application_match_type\": \"MATCHES\",\n \"pattern\": \"www.google.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetApplication.Invoke(new()\n {\n Name = \"Example\",\n });\n\n var _name_ = new Dynatrace.ApplicationDetectionRule(\"#name#\", new()\n {\n ApplicationIdentifier = test.Apply(getApplicationResult =\u003e getApplicationResult.Id),\n FilterConfig = new Dynatrace.Inputs.ApplicationDetectionRuleFilterConfigArgs\n {\n ApplicationMatchTarget = \"DOMAIN\",\n ApplicationMatchType = \"MATCHES\",\n Pattern = \"www.google.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetApplication(ctx, \u0026dynatrace.GetApplicationArgs{\n\t\t\tName: \"Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewApplicationDetectionRule(ctx, \"#name#\", \u0026dynatrace.ApplicationDetectionRuleArgs{\n\t\t\tApplicationIdentifier: pulumi.String(test.Id),\n\t\t\tFilterConfig: \u0026dynatrace.ApplicationDetectionRuleFilterConfigArgs{\n\t\t\t\tApplicationMatchTarget: pulumi.String(\"DOMAIN\"),\n\t\t\t\tApplicationMatchType: pulumi.String(\"MATCHES\"),\n\t\t\t\tPattern: pulumi.String(\"www.google.com\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetApplicationArgs;\nimport com.pulumi.dynatrace.ApplicationDetectionRule;\nimport com.pulumi.dynatrace.ApplicationDetectionRuleArgs;\nimport com.pulumi.dynatrace.inputs.ApplicationDetectionRuleFilterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getApplication(GetApplicationArgs.builder()\n .name(\"Example\")\n .build());\n\n var _name_ = new ApplicationDetectionRule(\"#name#\", ApplicationDetectionRuleArgs.builder()\n .applicationIdentifier(test.applyValue(getApplicationResult -\u003e getApplicationResult.id()))\n .filterConfig(ApplicationDetectionRuleFilterConfigArgs.builder()\n .applicationMatchTarget(\"DOMAIN\")\n .applicationMatchType(\"MATCHES\")\n .pattern(\"www.google.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ApplicationDetectionRule\n properties:\n applicationIdentifier: ${test.id}\n filterConfig:\n applicationMatchTarget: DOMAIN\n applicationMatchType: MATCHES\n pattern: www.google.com\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getApplication\n arguments:\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApplication.\n", "properties": { @@ -74905,7 +75717,7 @@ } }, "dynatrace:index/getAttackAlerting:getAttackAlerting": { - "description": "The `dynatrace.AttackAlerting` data source allows the attack alerting profile ID to be retrieved by its name.\n\n- `name` (String) - The name of the attack alerting profile\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getAttackAlerting({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_attack_alerting(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetAttackAlerting.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getAttackAlertingResult =\u003e getAttackAlertingResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupAttackAlerting(ctx, \u0026dynatrace.LookupAttackAlertingArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAttackAlertingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getAttackAlerting(GetAttackAlertingArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getAttackAlertingResult -\u003e getAttackAlertingResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getAttackAlerting\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.AttackAlerting` data source allows the attack alerting profile ID to be retrieved by its name.\n\n- `name` (String) - The name of the attack alerting profile\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getAttackAlerting({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_attack_alerting(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetAttackAlerting.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getAttackAlertingResult =\u003e getAttackAlertingResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupAttackAlerting(ctx, \u0026dynatrace.LookupAttackAlertingArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAttackAlertingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getAttackAlerting(GetAttackAlertingArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getAttackAlertingResult -\u003e getAttackAlertingResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getAttackAlerting\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAttackAlerting.\n", "properties": { @@ -74937,7 +75749,7 @@ } }, "dynatrace:index/getAutotag:getAutotag": { - "description": "The automatically applied tag data source allows the tag ID to be retrieved by its name.\n\n\u003e This data source requires the API token scopes **Read settings** (`settings.read`)\n\n- `name` queries the automatically applied tag with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst exampleAutotag = dynatrace.getAutotag({\n name: \"Terraform Example\",\n});\nconst exampleAutotagRules = new dynatrace.AutotagRules(\"exampleAutotagRules\", {\n autoTagId: exampleAutotag.then(exampleAutotag =\u003e exampleAutotag.id),\n rules: {\n rules: [\n {\n type: \"ME\",\n enabled: true,\n valueFormat: \"Java\",\n valueNormalization: \"Leave text as-is\",\n attributeRule: {\n entityType: \"PROCESS_GROUP\",\n pgToHostPropagation: true,\n pgToServicePropagation: false,\n conditions: {\n conditions: [{\n enumValue: \"JAVA\",\n key: \"PROCESS_GROUP_TECHNOLOGY\",\n operator: \"EQUALS\",\n }],\n },\n },\n },\n {\n type: \"ME\",\n enabled: true,\n valueFormat: \".NET\",\n valueNormalization: \"Leave text as-is\",\n attributeRule: {\n entityType: \"PROCESS_GROUP\",\n pgToHostPropagation: true,\n pgToServicePropagation: false,\n conditions: {\n conditions: [{\n enumValue: \"DOTNET\",\n key: \"PROCESS_GROUP_TECHNOLOGY\",\n operator: \"EQUALS\",\n }],\n },\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\nexample_autotag = dynatrace.get_autotag(name=\"Terraform Example\")\nexample_autotag_rules = dynatrace.AutotagRules(\"exampleAutotagRules\",\n auto_tag_id=example_autotag.id,\n rules={\n \"rules\": [\n {\n \"type\": \"ME\",\n \"enabled\": True,\n \"value_format\": \"Java\",\n \"value_normalization\": \"Leave text as-is\",\n \"attribute_rule\": {\n \"entity_type\": \"PROCESS_GROUP\",\n \"pg_to_host_propagation\": True,\n \"pg_to_service_propagation\": False,\n \"conditions\": {\n \"conditions\": [{\n \"enum_value\": \"JAVA\",\n \"key\": \"PROCESS_GROUP_TECHNOLOGY\",\n \"operator\": \"EQUALS\",\n }],\n },\n },\n },\n {\n \"type\": \"ME\",\n \"enabled\": True,\n \"value_format\": \".NET\",\n \"value_normalization\": \"Leave text as-is\",\n \"attribute_rule\": {\n \"entity_type\": \"PROCESS_GROUP\",\n \"pg_to_host_propagation\": True,\n \"pg_to_service_propagation\": False,\n \"conditions\": {\n \"conditions\": [{\n \"enum_value\": \"DOTNET\",\n \"key\": \"PROCESS_GROUP_TECHNOLOGY\",\n \"operator\": \"EQUALS\",\n }],\n },\n },\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAutotag = Dynatrace.GetAutotag.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n var exampleAutotagRules = new Dynatrace.AutotagRules(\"exampleAutotagRules\", new()\n {\n AutoTagId = exampleAutotag.Apply(getAutotagResult =\u003e getAutotagResult.Id),\n Rules = new Dynatrace.Inputs.AutotagRulesRulesArgs\n {\n Rules = new[]\n {\n new Dynatrace.Inputs.AutotagRulesRulesRuleArgs\n {\n Type = \"ME\",\n Enabled = true,\n ValueFormat = \"Java\",\n ValueNormalization = \"Leave text as-is\",\n AttributeRule = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleArgs\n {\n EntityType = \"PROCESS_GROUP\",\n PgToHostPropagation = true,\n PgToServicePropagation = false,\n Conditions = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs\n {\n EnumValue = \"JAVA\",\n Key = \"PROCESS_GROUP_TECHNOLOGY\",\n Operator = \"EQUALS\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AutotagRulesRulesRuleArgs\n {\n Type = \"ME\",\n Enabled = true,\n ValueFormat = \".NET\",\n ValueNormalization = \"Leave text as-is\",\n AttributeRule = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleArgs\n {\n EntityType = \"PROCESS_GROUP\",\n PgToHostPropagation = true,\n PgToServicePropagation = false,\n Conditions = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs\n {\n EnumValue = \"DOTNET\",\n Key = \"PROCESS_GROUP_TECHNOLOGY\",\n Operator = \"EQUALS\",\n },\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAutotag, err := dynatrace.LookupAutotag(ctx, \u0026dynatrace.LookupAutotagArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewAutotagRules(ctx, \"exampleAutotagRules\", \u0026dynatrace.AutotagRulesArgs{\n\t\t\tAutoTagId: pulumi.String(exampleAutotag.Id),\n\t\t\tRules: \u0026dynatrace.AutotagRulesRulesArgs{\n\t\t\t\tRules: dynatrace.AutotagRulesRulesRuleArray{\n\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ME\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tValueFormat: pulumi.String(\"Java\"),\n\t\t\t\t\t\tValueNormalization: pulumi.String(\"Leave text as-is\"),\n\t\t\t\t\t\tAttributeRule: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleArgs{\n\t\t\t\t\t\t\tEntityType: pulumi.String(\"PROCESS_GROUP\"),\n\t\t\t\t\t\t\tPgToHostPropagation: pulumi.Bool(true),\n\t\t\t\t\t\t\tPgToServicePropagation: pulumi.Bool(false),\n\t\t\t\t\t\t\tConditions: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsArgs{\n\t\t\t\t\t\t\t\tConditions: dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArray{\n\t\t\t\t\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs{\n\t\t\t\t\t\t\t\t\t\tEnumValue: pulumi.String(\"JAVA\"),\n\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"PROCESS_GROUP_TECHNOLOGY\"),\n\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ME\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tValueFormat: pulumi.String(\".NET\"),\n\t\t\t\t\t\tValueNormalization: pulumi.String(\"Leave text as-is\"),\n\t\t\t\t\t\tAttributeRule: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleArgs{\n\t\t\t\t\t\t\tEntityType: pulumi.String(\"PROCESS_GROUP\"),\n\t\t\t\t\t\t\tPgToHostPropagation: pulumi.Bool(true),\n\t\t\t\t\t\t\tPgToServicePropagation: pulumi.Bool(false),\n\t\t\t\t\t\t\tConditions: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsArgs{\n\t\t\t\t\t\t\t\tConditions: dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArray{\n\t\t\t\t\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs{\n\t\t\t\t\t\t\t\t\t\tEnumValue: pulumi.String(\"DOTNET\"),\n\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"PROCESS_GROUP_TECHNOLOGY\"),\n\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAutotagArgs;\nimport com.pulumi.dynatrace.AutotagRules;\nimport com.pulumi.dynatrace.AutotagRulesArgs;\nimport com.pulumi.dynatrace.inputs.AutotagRulesRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleAutotag = DynatraceFunctions.getAutotag(GetAutotagArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n var exampleAutotagRules = new AutotagRules(\"exampleAutotagRules\", AutotagRulesArgs.builder()\n .autoTagId(exampleAutotag.applyValue(getAutotagResult -\u003e getAutotagResult.id()))\n .rules(AutotagRulesRulesArgs.builder()\n .rules( \n AutotagRulesRulesRuleArgs.builder()\n .type(\"ME\")\n .enabled(true)\n .valueFormat(\"Java\")\n .valueNormalization(\"Leave text as-is\")\n .attributeRule(AutotagRulesRulesRuleAttributeRuleArgs.builder()\n .entityType(\"PROCESS_GROUP\")\n .pgToHostPropagation(true)\n .pgToServicePropagation(false)\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsArgs.builder()\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs.builder()\n .enumValue(\"JAVA\")\n .key(\"PROCESS_GROUP_TECHNOLOGY\")\n .operator(\"EQUALS\")\n .build())\n .build())\n .build())\n .build(),\n AutotagRulesRulesRuleArgs.builder()\n .type(\"ME\")\n .enabled(true)\n .valueFormat(\".NET\")\n .valueNormalization(\"Leave text as-is\")\n .attributeRule(AutotagRulesRulesRuleAttributeRuleArgs.builder()\n .entityType(\"PROCESS_GROUP\")\n .pgToHostPropagation(true)\n .pgToServicePropagation(false)\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsArgs.builder()\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs.builder()\n .enumValue(\"DOTNET\")\n .key(\"PROCESS_GROUP_TECHNOLOGY\")\n .operator(\"EQUALS\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAutotagRules:\n type: dynatrace:AutotagRules\n properties:\n autoTagId: ${exampleAutotag.id}\n rules:\n rules:\n - type: ME\n enabled: true\n valueFormat: Java\n valueNormalization: Leave text as-is\n attributeRule:\n entityType: PROCESS_GROUP\n pgToHostPropagation: true\n pgToServicePropagation: false\n conditions:\n conditions:\n - enumValue: JAVA\n key: PROCESS_GROUP_TECHNOLOGY\n operator: EQUALS\n - type: ME\n enabled: true\n valueFormat: .NET\n valueNormalization: Leave text as-is\n attributeRule:\n entityType: PROCESS_GROUP\n pgToHostPropagation: true\n pgToServicePropagation: false\n conditions:\n conditions:\n - enumValue: DOTNET\n key: PROCESS_GROUP_TECHNOLOGY\n operator: EQUALS\nvariables:\n exampleAutotag:\n fn::invoke:\n Function: dynatrace:getAutotag\n Arguments:\n name: Terraform Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The automatically applied tag data source allows the tag ID to be retrieved by its name.\n\n\u003e This data source requires the API token scopes **Read settings** (`settings.read`)\n\n- `name` queries the automatically applied tag with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst exampleAutotag = dynatrace.getAutotag({\n name: \"Terraform Example\",\n});\nconst exampleAutotagRules = new dynatrace.AutotagRules(\"exampleAutotagRules\", {\n autoTagId: exampleAutotag.then(exampleAutotag =\u003e exampleAutotag.id),\n rules: {\n rules: [\n {\n type: \"ME\",\n enabled: true,\n valueFormat: \"Java\",\n valueNormalization: \"Leave text as-is\",\n attributeRule: {\n entityType: \"PROCESS_GROUP\",\n pgToHostPropagation: true,\n pgToServicePropagation: false,\n conditions: {\n conditions: [{\n enumValue: \"JAVA\",\n key: \"PROCESS_GROUP_TECHNOLOGY\",\n operator: \"EQUALS\",\n }],\n },\n },\n },\n {\n type: \"ME\",\n enabled: true,\n valueFormat: \".NET\",\n valueNormalization: \"Leave text as-is\",\n attributeRule: {\n entityType: \"PROCESS_GROUP\",\n pgToHostPropagation: true,\n pgToServicePropagation: false,\n conditions: {\n conditions: [{\n enumValue: \"DOTNET\",\n key: \"PROCESS_GROUP_TECHNOLOGY\",\n operator: \"EQUALS\",\n }],\n },\n },\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\nexample_autotag = dynatrace.get_autotag(name=\"Terraform Example\")\nexample_autotag_rules = dynatrace.AutotagRules(\"exampleAutotagRules\",\n auto_tag_id=example_autotag.id,\n rules={\n \"rules\": [\n {\n \"type\": \"ME\",\n \"enabled\": True,\n \"value_format\": \"Java\",\n \"value_normalization\": \"Leave text as-is\",\n \"attribute_rule\": {\n \"entity_type\": \"PROCESS_GROUP\",\n \"pg_to_host_propagation\": True,\n \"pg_to_service_propagation\": False,\n \"conditions\": {\n \"conditions\": [{\n \"enum_value\": \"JAVA\",\n \"key\": \"PROCESS_GROUP_TECHNOLOGY\",\n \"operator\": \"EQUALS\",\n }],\n },\n },\n },\n {\n \"type\": \"ME\",\n \"enabled\": True,\n \"value_format\": \".NET\",\n \"value_normalization\": \"Leave text as-is\",\n \"attribute_rule\": {\n \"entity_type\": \"PROCESS_GROUP\",\n \"pg_to_host_propagation\": True,\n \"pg_to_service_propagation\": False,\n \"conditions\": {\n \"conditions\": [{\n \"enum_value\": \"DOTNET\",\n \"key\": \"PROCESS_GROUP_TECHNOLOGY\",\n \"operator\": \"EQUALS\",\n }],\n },\n },\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAutotag = Dynatrace.GetAutotag.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n var exampleAutotagRules = new Dynatrace.AutotagRules(\"exampleAutotagRules\", new()\n {\n AutoTagId = exampleAutotag.Apply(getAutotagResult =\u003e getAutotagResult.Id),\n Rules = new Dynatrace.Inputs.AutotagRulesRulesArgs\n {\n Rules = new[]\n {\n new Dynatrace.Inputs.AutotagRulesRulesRuleArgs\n {\n Type = \"ME\",\n Enabled = true,\n ValueFormat = \"Java\",\n ValueNormalization = \"Leave text as-is\",\n AttributeRule = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleArgs\n {\n EntityType = \"PROCESS_GROUP\",\n PgToHostPropagation = true,\n PgToServicePropagation = false,\n Conditions = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs\n {\n EnumValue = \"JAVA\",\n Key = \"PROCESS_GROUP_TECHNOLOGY\",\n Operator = \"EQUALS\",\n },\n },\n },\n },\n },\n new Dynatrace.Inputs.AutotagRulesRulesRuleArgs\n {\n Type = \"ME\",\n Enabled = true,\n ValueFormat = \".NET\",\n ValueNormalization = \"Leave text as-is\",\n AttributeRule = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleArgs\n {\n EntityType = \"PROCESS_GROUP\",\n PgToHostPropagation = true,\n PgToServicePropagation = false,\n Conditions = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs\n {\n EnumValue = \"DOTNET\",\n Key = \"PROCESS_GROUP_TECHNOLOGY\",\n Operator = \"EQUALS\",\n },\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAutotag, err := dynatrace.LookupAutotag(ctx, \u0026dynatrace.LookupAutotagArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewAutotagRules(ctx, \"exampleAutotagRules\", \u0026dynatrace.AutotagRulesArgs{\n\t\t\tAutoTagId: pulumi.String(exampleAutotag.Id),\n\t\t\tRules: \u0026dynatrace.AutotagRulesRulesArgs{\n\t\t\t\tRules: dynatrace.AutotagRulesRulesRuleArray{\n\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ME\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tValueFormat: pulumi.String(\"Java\"),\n\t\t\t\t\t\tValueNormalization: pulumi.String(\"Leave text as-is\"),\n\t\t\t\t\t\tAttributeRule: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleArgs{\n\t\t\t\t\t\t\tEntityType: pulumi.String(\"PROCESS_GROUP\"),\n\t\t\t\t\t\t\tPgToHostPropagation: pulumi.Bool(true),\n\t\t\t\t\t\t\tPgToServicePropagation: pulumi.Bool(false),\n\t\t\t\t\t\t\tConditions: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsArgs{\n\t\t\t\t\t\t\t\tConditions: dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArray{\n\t\t\t\t\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs{\n\t\t\t\t\t\t\t\t\t\tEnumValue: pulumi.String(\"JAVA\"),\n\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"PROCESS_GROUP_TECHNOLOGY\"),\n\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ME\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tValueFormat: pulumi.String(\".NET\"),\n\t\t\t\t\t\tValueNormalization: pulumi.String(\"Leave text as-is\"),\n\t\t\t\t\t\tAttributeRule: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleArgs{\n\t\t\t\t\t\t\tEntityType: pulumi.String(\"PROCESS_GROUP\"),\n\t\t\t\t\t\t\tPgToHostPropagation: pulumi.Bool(true),\n\t\t\t\t\t\t\tPgToServicePropagation: pulumi.Bool(false),\n\t\t\t\t\t\t\tConditions: \u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsArgs{\n\t\t\t\t\t\t\t\tConditions: dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArray{\n\t\t\t\t\t\t\t\t\t\u0026dynatrace.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs{\n\t\t\t\t\t\t\t\t\t\tEnumValue: pulumi.String(\"DOTNET\"),\n\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"PROCESS_GROUP_TECHNOLOGY\"),\n\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAutotagArgs;\nimport com.pulumi.dynatrace.AutotagRules;\nimport com.pulumi.dynatrace.AutotagRulesArgs;\nimport com.pulumi.dynatrace.inputs.AutotagRulesRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleAutotag = DynatraceFunctions.getAutotag(GetAutotagArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n var exampleAutotagRules = new AutotagRules(\"exampleAutotagRules\", AutotagRulesArgs.builder()\n .autoTagId(exampleAutotag.applyValue(getAutotagResult -\u003e getAutotagResult.id()))\n .rules(AutotagRulesRulesArgs.builder()\n .rules( \n AutotagRulesRulesRuleArgs.builder()\n .type(\"ME\")\n .enabled(true)\n .valueFormat(\"Java\")\n .valueNormalization(\"Leave text as-is\")\n .attributeRule(AutotagRulesRulesRuleAttributeRuleArgs.builder()\n .entityType(\"PROCESS_GROUP\")\n .pgToHostPropagation(true)\n .pgToServicePropagation(false)\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsArgs.builder()\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs.builder()\n .enumValue(\"JAVA\")\n .key(\"PROCESS_GROUP_TECHNOLOGY\")\n .operator(\"EQUALS\")\n .build())\n .build())\n .build())\n .build(),\n AutotagRulesRulesRuleArgs.builder()\n .type(\"ME\")\n .enabled(true)\n .valueFormat(\".NET\")\n .valueNormalization(\"Leave text as-is\")\n .attributeRule(AutotagRulesRulesRuleAttributeRuleArgs.builder()\n .entityType(\"PROCESS_GROUP\")\n .pgToHostPropagation(true)\n .pgToServicePropagation(false)\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsArgs.builder()\n .conditions(AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs.builder()\n .enumValue(\"DOTNET\")\n .key(\"PROCESS_GROUP_TECHNOLOGY\")\n .operator(\"EQUALS\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAutotagRules:\n type: dynatrace:AutotagRules\n properties:\n autoTagId: ${exampleAutotag.id}\n rules:\n rules:\n - type: ME\n enabled: true\n valueFormat: Java\n valueNormalization: Leave text as-is\n attributeRule:\n entityType: PROCESS_GROUP\n pgToHostPropagation: true\n pgToServicePropagation: false\n conditions:\n conditions:\n - enumValue: JAVA\n key: PROCESS_GROUP_TECHNOLOGY\n operator: EQUALS\n - type: ME\n enabled: true\n valueFormat: .NET\n valueNormalization: Leave text as-is\n attributeRule:\n entityType: PROCESS_GROUP\n pgToHostPropagation: true\n pgToServicePropagation: false\n conditions:\n conditions:\n - enumValue: DOTNET\n key: PROCESS_GROUP_TECHNOLOGY\n operator: EQUALS\nvariables:\n exampleAutotag:\n fn::invoke:\n function: dynatrace:getAutotag\n arguments:\n name: Terraform Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAutotag.\n", "properties": { @@ -74969,7 +75781,7 @@ } }, "dynatrace:index/getAwsCredentials:getAwsCredentials": { - "description": "The `dynatrace.AwsCredentials` data source allows the AWS credential ID to be retrieved by its label.\n\n- `label` (String) - The label/name of the AWS credential\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAwsCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getAwsCredentials(GetAwsCredentialsArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getAwsCredentialsResult -\u003e getAwsCredentialsResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getAwsCredentials\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.AwsCredentials` data source allows the AWS credential ID to be retrieved by its label.\n\n- `label` (String) - The label/name of the AWS credential\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAwsCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getAwsCredentials(GetAwsCredentialsArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getAwsCredentialsResult -\u003e getAwsCredentialsResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getAwsCredentials\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAwsCredentials.\n", "properties": { @@ -75061,7 +75873,7 @@ } }, "dynatrace:index/getAzureCredentials:getAzureCredentials": { - "description": "The `dynatrace.AzureCredentials` data source allows the Azure credential ID to be retrieved by its label.\n\n- `label` (String) - The label/name of the Azure credential\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAzureCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getAzureCredentials(GetAzureCredentialsArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getAzureCredentialsResult -\u003e getAzureCredentialsResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getAzureCredentials\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.AzureCredentials` data source allows the Azure credential ID to be retrieved by its label.\n\n- `label` (String) - The label/name of the Azure credential\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetAzureCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getAzureCredentials(GetAzureCredentialsArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getAzureCredentialsResult -\u003e getAzureCredentialsResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getAzureCredentials\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAzureCredentials.\n", "properties": { @@ -75137,7 +75949,7 @@ } }, "dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric": { - "description": "The calculated service metric data source allows the metric ID to be retrieved by its name.\n\n- `name` (String) - The name of the calculated service metric\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getCalculatedServiceMetric({\n name: \"Terraform Example\",\n});\nexport const groups = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_calculated_service_metric(name=\"Terraform Example\")\npulumi.export(\"groups\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetCalculatedServiceMetric.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = example.Apply(getCalculatedServiceMetricResult =\u003e getCalculatedServiceMetricResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupCalculatedServiceMetric(ctx, \u0026dynatrace.LookupCalculatedServiceMetricArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetCalculatedServiceMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getCalculatedServiceMetric(GetCalculatedServiceMetricArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"groups\", example.applyValue(getCalculatedServiceMetricResult -\u003e getCalculatedServiceMetricResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getCalculatedServiceMetric\n Arguments:\n name: Terraform Example\noutputs:\n groups: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The calculated service metric data source allows the metric ID to be retrieved by its name.\n\n- `name` (String) - The name of the calculated service metric\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getCalculatedServiceMetric({\n name: \"Terraform Example\",\n});\nexport const groups = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_calculated_service_metric(name=\"Terraform Example\")\npulumi.export(\"groups\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetCalculatedServiceMetric.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = example.Apply(getCalculatedServiceMetricResult =\u003e getCalculatedServiceMetricResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupCalculatedServiceMetric(ctx, \u0026dynatrace.LookupCalculatedServiceMetricArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetCalculatedServiceMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getCalculatedServiceMetric(GetCalculatedServiceMetricArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"groups\", example.applyValue(getCalculatedServiceMetricResult -\u003e getCalculatedServiceMetricResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getCalculatedServiceMetric\n arguments:\n name: Terraform Example\noutputs:\n groups: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCalculatedServiceMetric.\n", "properties": { @@ -75169,7 +75981,7 @@ } }, "dynatrace:index/getCredentials:getCredentials": { - "description": "The `dynatrace.Credentials` data source queries for Credentials stored within the Credentials Vault using the properties `name`, `scope` and `type`. At least one of `name`, `scope` or `type` needs to be specified as a non empty value. Combinations of the three properties are also possible.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst creds = dynatrace.getCredentials({\n name: \"Office365 Access Token\",\n});\nconst _name_ = new dynatrace.HttpMonitor(\"#name#\", {\n enabled: true,\n frequency: 60,\n locations: [\"SYNTHETIC_LOCATION-781752216580B1BC\"],\n anomalyDetections: [{\n loadingTimeThresholds: [{\n enabled: true,\n }],\n outageHandlings: [{\n globalOutage: true,\n localOutage: false,\n retryOnError: false,\n }],\n }],\n script: {\n requests: [{\n description: \"google.com\",\n method: \"GET\",\n url: \"https://www.google.com\",\n authentication: {\n type: \"BASIC_AUTHENTICATION\",\n credentials: creds.then(creds =\u003e creds.id),\n },\n configuration: {\n acceptAnyCertificate: true,\n followRedirects: true,\n },\n validation: {\n rules: [{\n type: \"httpStatusesList\",\n passIfFound: false,\n value: \"\u003e=400\",\n }],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ncreds = dynatrace.get_credentials(name=\"Office365 Access Token\")\n_name_ = dynatrace.HttpMonitor(\"#name#\",\n enabled=True,\n frequency=60,\n locations=[\"SYNTHETIC_LOCATION-781752216580B1BC\"],\n anomaly_detections=[{\n \"loading_time_thresholds\": [{\n \"enabled\": True,\n }],\n \"outage_handlings\": [{\n \"global_outage\": True,\n \"local_outage\": False,\n \"retry_on_error\": False,\n }],\n }],\n script={\n \"requests\": [{\n \"description\": \"google.com\",\n \"method\": \"GET\",\n \"url\": \"https://www.google.com\",\n \"authentication\": {\n \"type\": \"BASIC_AUTHENTICATION\",\n \"credentials\": creds.id,\n },\n \"configuration\": {\n \"accept_any_certificate\": True,\n \"follow_redirects\": True,\n },\n \"validation\": {\n \"rules\": [{\n \"type\": \"httpStatusesList\",\n \"pass_if_found\": False,\n \"value\": \"\u003e=400\",\n }],\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var creds = Dynatrace.GetCredentials.Invoke(new()\n {\n Name = \"Office365 Access Token\",\n });\n\n var _name_ = new Dynatrace.HttpMonitor(\"#name#\", new()\n {\n Enabled = true,\n Frequency = 60,\n Locations = new[]\n {\n \"SYNTHETIC_LOCATION-781752216580B1BC\",\n },\n AnomalyDetections = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionArgs\n {\n LoadingTimeThresholds = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs\n {\n Enabled = true,\n },\n },\n OutageHandlings = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionOutageHandlingArgs\n {\n GlobalOutage = true,\n LocalOutage = false,\n RetryOnError = false,\n },\n },\n },\n },\n Script = new Dynatrace.Inputs.HttpMonitorScriptArgs\n {\n Requests = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestArgs\n {\n Description = \"google.com\",\n Method = \"GET\",\n Url = \"https://www.google.com\",\n Authentication = new Dynatrace.Inputs.HttpMonitorScriptRequestAuthenticationArgs\n {\n Type = \"BASIC_AUTHENTICATION\",\n Credentials = creds.Apply(getCredentialsResult =\u003e getCredentialsResult.Id),\n },\n Configuration = new Dynatrace.Inputs.HttpMonitorScriptRequestConfigurationArgs\n {\n AcceptAnyCertificate = true,\n FollowRedirects = true,\n },\n Validation = new Dynatrace.Inputs.HttpMonitorScriptRequestValidationArgs\n {\n Rules = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestValidationRuleArgs\n {\n Type = \"httpStatusesList\",\n PassIfFound = false,\n Value = \"\u003e=400\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcreds, err := dynatrace.LookupCredentials(ctx, \u0026dynatrace.LookupCredentialsArgs{\n\t\t\tName: pulumi.StringRef(\"Office365 Access Token\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewHttpMonitor(ctx, \"#name#\", \u0026dynatrace.HttpMonitorArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFrequency: pulumi.Int(60),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SYNTHETIC_LOCATION-781752216580B1BC\"),\n\t\t\t},\n\t\t\tAnomalyDetections: dynatrace.HttpMonitorAnomalyDetectionArray{\n\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionArgs{\n\t\t\t\t\tLoadingTimeThresholds: dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOutageHandlings: dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArgs{\n\t\t\t\t\t\t\tGlobalOutage: pulumi.Bool(true),\n\t\t\t\t\t\t\tLocalOutage: pulumi.Bool(false),\n\t\t\t\t\t\t\tRetryOnError: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: \u0026dynatrace.HttpMonitorScriptTypeArgs{\n\t\t\t\tRequests: dynatrace.HttpMonitorScriptRequestArray{\n\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestArgs{\n\t\t\t\t\t\tDescription: pulumi.String(\"google.com\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"https://www.google.com\"),\n\t\t\t\t\t\tAuthentication: \u0026dynatrace.HttpMonitorScriptRequestAuthenticationArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"BASIC_AUTHENTICATION\"),\n\t\t\t\t\t\t\tCredentials: pulumi.String(creds.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tConfiguration: \u0026dynatrace.HttpMonitorScriptRequestConfigurationArgs{\n\t\t\t\t\t\t\tAcceptAnyCertificate: pulumi.Bool(true),\n\t\t\t\t\t\t\tFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tValidation: \u0026dynatrace.HttpMonitorScriptRequestValidationArgs{\n\t\t\t\t\t\t\tRules: dynatrace.HttpMonitorScriptRequestValidationRuleArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestValidationRuleArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"httpStatusesList\"),\n\t\t\t\t\t\t\t\t\tPassIfFound: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003e=400\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetCredentialsArgs;\nimport com.pulumi.dynatrace.HttpMonitor;\nimport com.pulumi.dynatrace.HttpMonitorArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorAnomalyDetectionArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var creds = DynatraceFunctions.getCredentials(GetCredentialsArgs.builder()\n .name(\"Office365 Access Token\")\n .build());\n\n var _name_ = new HttpMonitor(\"#name#\", HttpMonitorArgs.builder()\n .enabled(true)\n .frequency(60)\n .locations(\"SYNTHETIC_LOCATION-781752216580B1BC\")\n .anomalyDetections(HttpMonitorAnomalyDetectionArgs.builder()\n .loadingTimeThresholds(HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs.builder()\n .enabled(true)\n .build())\n .outageHandlings(HttpMonitorAnomalyDetectionOutageHandlingArgs.builder()\n .globalOutage(true)\n .localOutage(false)\n .retryOnError(false)\n .build())\n .build())\n .script(HttpMonitorScriptArgs.builder()\n .requests(HttpMonitorScriptRequestArgs.builder()\n .description(\"google.com\")\n .method(\"GET\")\n .url(\"https://www.google.com\")\n .authentication(HttpMonitorScriptRequestAuthenticationArgs.builder()\n .type(\"BASIC_AUTHENTICATION\")\n .credentials(creds.applyValue(getCredentialsResult -\u003e getCredentialsResult.id()))\n .build())\n .configuration(HttpMonitorScriptRequestConfigurationArgs.builder()\n .acceptAnyCertificate(true)\n .followRedirects(true)\n .build())\n .validation(HttpMonitorScriptRequestValidationArgs.builder()\n .rules(HttpMonitorScriptRequestValidationRuleArgs.builder()\n .type(\"httpStatusesList\")\n .passIfFound(false)\n .value(\"\u003e=400\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:HttpMonitor\n properties:\n enabled: true\n frequency: 60\n locations:\n - SYNTHETIC_LOCATION-781752216580B1BC\n anomalyDetections:\n - loadingTimeThresholds:\n - enabled: true\n outageHandlings:\n - globalOutage: true\n localOutage: false\n retryOnError: false\n script:\n requests:\n - description: google.com\n method: GET\n url: https://www.google.com\n authentication:\n type: BASIC_AUTHENTICATION\n credentials: ${creds.id}\n configuration:\n acceptAnyCertificate: true\n followRedirects: true\n validation:\n rules:\n - type: httpStatusesList\n passIfFound: false\n value: '\u003e=400'\nvariables:\n creds:\n fn::invoke:\n Function: dynatrace:getCredentials\n Arguments:\n name: Office365 Access Token\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.Credentials` data source queries for Credentials stored within the Credentials Vault using the properties `name`, `scope` and `type`. At least one of `name`, `scope` or `type` needs to be specified as a non empty value. Combinations of the three properties are also possible.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst creds = dynatrace.getCredentials({\n name: \"Office365 Access Token\",\n});\nconst _name_ = new dynatrace.HttpMonitor(\"#name#\", {\n enabled: true,\n frequency: 60,\n locations: [\"SYNTHETIC_LOCATION-781752216580B1BC\"],\n anomalyDetections: [{\n loadingTimeThresholds: [{\n enabled: true,\n }],\n outageHandlings: [{\n globalOutage: true,\n localOutage: false,\n retryOnError: false,\n }],\n }],\n script: {\n requests: [{\n description: \"google.com\",\n method: \"GET\",\n url: \"https://www.google.com\",\n authentication: {\n type: \"BASIC_AUTHENTICATION\",\n credentials: creds.then(creds =\u003e creds.id),\n },\n configuration: {\n acceptAnyCertificate: true,\n followRedirects: true,\n },\n validation: {\n rules: [{\n type: \"httpStatusesList\",\n passIfFound: false,\n value: \"\u003e=400\",\n }],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ncreds = dynatrace.get_credentials(name=\"Office365 Access Token\")\n_name_ = dynatrace.HttpMonitor(\"#name#\",\n enabled=True,\n frequency=60,\n locations=[\"SYNTHETIC_LOCATION-781752216580B1BC\"],\n anomaly_detections=[{\n \"loading_time_thresholds\": [{\n \"enabled\": True,\n }],\n \"outage_handlings\": [{\n \"global_outage\": True,\n \"local_outage\": False,\n \"retry_on_error\": False,\n }],\n }],\n script={\n \"requests\": [{\n \"description\": \"google.com\",\n \"method\": \"GET\",\n \"url\": \"https://www.google.com\",\n \"authentication\": {\n \"type\": \"BASIC_AUTHENTICATION\",\n \"credentials\": creds.id,\n },\n \"configuration\": {\n \"accept_any_certificate\": True,\n \"follow_redirects\": True,\n },\n \"validation\": {\n \"rules\": [{\n \"type\": \"httpStatusesList\",\n \"pass_if_found\": False,\n \"value\": \"\u003e=400\",\n }],\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var creds = Dynatrace.GetCredentials.Invoke(new()\n {\n Name = \"Office365 Access Token\",\n });\n\n var _name_ = new Dynatrace.HttpMonitor(\"#name#\", new()\n {\n Enabled = true,\n Frequency = 60,\n Locations = new[]\n {\n \"SYNTHETIC_LOCATION-781752216580B1BC\",\n },\n AnomalyDetections = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionArgs\n {\n LoadingTimeThresholds = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs\n {\n Enabled = true,\n },\n },\n OutageHandlings = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionOutageHandlingArgs\n {\n GlobalOutage = true,\n LocalOutage = false,\n RetryOnError = false,\n },\n },\n },\n },\n Script = new Dynatrace.Inputs.HttpMonitorScriptArgs\n {\n Requests = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestArgs\n {\n Description = \"google.com\",\n Method = \"GET\",\n Url = \"https://www.google.com\",\n Authentication = new Dynatrace.Inputs.HttpMonitorScriptRequestAuthenticationArgs\n {\n Type = \"BASIC_AUTHENTICATION\",\n Credentials = creds.Apply(getCredentialsResult =\u003e getCredentialsResult.Id),\n },\n Configuration = new Dynatrace.Inputs.HttpMonitorScriptRequestConfigurationArgs\n {\n AcceptAnyCertificate = true,\n FollowRedirects = true,\n },\n Validation = new Dynatrace.Inputs.HttpMonitorScriptRequestValidationArgs\n {\n Rules = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestValidationRuleArgs\n {\n Type = \"httpStatusesList\",\n PassIfFound = false,\n Value = \"\u003e=400\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcreds, err := dynatrace.LookupCredentials(ctx, \u0026dynatrace.LookupCredentialsArgs{\n\t\t\tName: pulumi.StringRef(\"Office365 Access Token\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewHttpMonitor(ctx, \"#name#\", \u0026dynatrace.HttpMonitorArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFrequency: pulumi.Int(60),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SYNTHETIC_LOCATION-781752216580B1BC\"),\n\t\t\t},\n\t\t\tAnomalyDetections: dynatrace.HttpMonitorAnomalyDetectionArray{\n\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionArgs{\n\t\t\t\t\tLoadingTimeThresholds: dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOutageHandlings: dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArgs{\n\t\t\t\t\t\t\tGlobalOutage: pulumi.Bool(true),\n\t\t\t\t\t\t\tLocalOutage: pulumi.Bool(false),\n\t\t\t\t\t\t\tRetryOnError: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: \u0026dynatrace.HttpMonitorScriptTypeArgs{\n\t\t\t\tRequests: dynatrace.HttpMonitorScriptRequestArray{\n\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestArgs{\n\t\t\t\t\t\tDescription: pulumi.String(\"google.com\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"https://www.google.com\"),\n\t\t\t\t\t\tAuthentication: \u0026dynatrace.HttpMonitorScriptRequestAuthenticationArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"BASIC_AUTHENTICATION\"),\n\t\t\t\t\t\t\tCredentials: pulumi.String(creds.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tConfiguration: \u0026dynatrace.HttpMonitorScriptRequestConfigurationArgs{\n\t\t\t\t\t\t\tAcceptAnyCertificate: pulumi.Bool(true),\n\t\t\t\t\t\t\tFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tValidation: \u0026dynatrace.HttpMonitorScriptRequestValidationArgs{\n\t\t\t\t\t\t\tRules: dynatrace.HttpMonitorScriptRequestValidationRuleArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestValidationRuleArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"httpStatusesList\"),\n\t\t\t\t\t\t\t\t\tPassIfFound: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003e=400\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetCredentialsArgs;\nimport com.pulumi.dynatrace.HttpMonitor;\nimport com.pulumi.dynatrace.HttpMonitorArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorAnomalyDetectionArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var creds = DynatraceFunctions.getCredentials(GetCredentialsArgs.builder()\n .name(\"Office365 Access Token\")\n .build());\n\n var _name_ = new HttpMonitor(\"#name#\", HttpMonitorArgs.builder()\n .enabled(true)\n .frequency(60)\n .locations(\"SYNTHETIC_LOCATION-781752216580B1BC\")\n .anomalyDetections(HttpMonitorAnomalyDetectionArgs.builder()\n .loadingTimeThresholds(HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs.builder()\n .enabled(true)\n .build())\n .outageHandlings(HttpMonitorAnomalyDetectionOutageHandlingArgs.builder()\n .globalOutage(true)\n .localOutage(false)\n .retryOnError(false)\n .build())\n .build())\n .script(HttpMonitorScriptArgs.builder()\n .requests(HttpMonitorScriptRequestArgs.builder()\n .description(\"google.com\")\n .method(\"GET\")\n .url(\"https://www.google.com\")\n .authentication(HttpMonitorScriptRequestAuthenticationArgs.builder()\n .type(\"BASIC_AUTHENTICATION\")\n .credentials(creds.applyValue(getCredentialsResult -\u003e getCredentialsResult.id()))\n .build())\n .configuration(HttpMonitorScriptRequestConfigurationArgs.builder()\n .acceptAnyCertificate(true)\n .followRedirects(true)\n .build())\n .validation(HttpMonitorScriptRequestValidationArgs.builder()\n .rules(HttpMonitorScriptRequestValidationRuleArgs.builder()\n .type(\"httpStatusesList\")\n .passIfFound(false)\n .value(\"\u003e=400\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:HttpMonitor\n properties:\n enabled: true\n frequency: 60\n locations:\n - SYNTHETIC_LOCATION-781752216580B1BC\n anomalyDetections:\n - loadingTimeThresholds:\n - enabled: true\n outageHandlings:\n - globalOutage: true\n localOutage: false\n retryOnError: false\n script:\n requests:\n - description: google.com\n method: GET\n url: https://www.google.com\n authentication:\n type: BASIC_AUTHENTICATION\n credentials: ${creds.id}\n configuration:\n acceptAnyCertificate: true\n followRedirects: true\n validation:\n rules:\n - type: httpStatusesList\n passIfFound: false\n value: '\u003e=400'\nvariables:\n creds:\n fn::invoke:\n function: dynatrace:getCredentials\n arguments:\n name: Office365 Access Token\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCredentials.\n", "properties": { @@ -75215,7 +76027,7 @@ } }, "dynatrace:index/getDashboard:getDashboard": { - "description": "The `dynatrace.Dashboard` data source allows the dashboard ID to be retrieved by its name and owner.\n\n- `name` (String) - The name of the dashboard\n- `owner` (String) - The owner of the dashboard\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getDashboard({\n name: \"Terraform\",\n owner: \"Hashicorp\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_dashboard(name=\"Terraform\",\n owner=\"Hashicorp\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetDashboard.Invoke(new()\n {\n Name = \"Terraform\",\n Owner = \"Hashicorp\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getDashboardResult =\u003e getDashboardResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupDashboard(ctx, \u0026dynatrace.LookupDashboardArgs{\n\t\t\tName: \"Terraform\",\n\t\t\tOwner: \"Hashicorp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetDashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getDashboard(GetDashboardArgs.builder()\n .name(\"Terraform\")\n .owner(\"Hashicorp\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getDashboardResult -\u003e getDashboardResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getDashboard\n Arguments:\n name: Terraform\n owner: Hashicorp\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.Dashboard` data source allows the dashboard ID to be retrieved by its name and owner.\n\n- `name` (String) - The name of the dashboard\n- `owner` (String) - The owner of the dashboard\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getDashboard({\n name: \"Terraform\",\n owner: \"Hashicorp\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_dashboard(name=\"Terraform\",\n owner=\"Hashicorp\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetDashboard.Invoke(new()\n {\n Name = \"Terraform\",\n Owner = \"Hashicorp\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getDashboardResult =\u003e getDashboardResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupDashboard(ctx, \u0026dynatrace.LookupDashboardArgs{\n\t\t\tName: \"Terraform\",\n\t\t\tOwner: \"Hashicorp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetDashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getDashboard(GetDashboardArgs.builder()\n .name(\"Terraform\")\n .owner(\"Hashicorp\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getDashboardResult -\u003e getDashboardResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getDashboard\n arguments:\n name: Terraform\n owner: Hashicorp\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDashboard.\n", "properties": { @@ -75255,7 +76067,7 @@ } }, "dynatrace:index/getDocuments:getDocuments": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **View documents** (`document:documents:read`).\n\n- `type` (String) The type of documents to query for. Leave empty if you want to query for all kinds of documents.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all-dashboard-and-notebooks = dynatrace.getDocuments({});\nconst all-dashboards = dynatrace.getDocuments({\n type: \"dashboard\",\n});\nconst all-notebooks = dynatrace.getDocuments({\n type: \"notebook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall_dashboard_and_notebooks = dynatrace.get_documents()\nall_dashboards = dynatrace.get_documents(type=\"dashboard\")\nall_notebooks = dynatrace.get_documents(type=\"notebook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all_dashboard_and_notebooks = Dynatrace.GetDocuments.Invoke();\n\n var all_dashboards = Dynatrace.GetDocuments.Invoke(new()\n {\n Type = \"dashboard\",\n });\n\n var all_notebooks = Dynatrace.GetDocuments.Invoke(new()\n {\n Type = \"notebook\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.GetDocuments(ctx, \u0026dynatrace.GetDocumentsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.GetDocuments(ctx, \u0026dynatrace.GetDocumentsArgs{\n\t\t\tType: pulumi.StringRef(\"dashboard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.GetDocuments(ctx, \u0026dynatrace.GetDocumentsArgs{\n\t\t\tType: pulumi.StringRef(\"notebook\"),\n\t\t}, nil)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetDocumentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all-dashboard-and-notebooks = DynatraceFunctions.getDocuments();\n\n final var all-dashboards = DynatraceFunctions.getDocuments(GetDocumentsArgs.builder()\n .type(\"dashboard\")\n .build());\n\n final var all-notebooks = DynatraceFunctions.getDocuments(GetDocumentsArgs.builder()\n .type(\"notebook\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all-dashboard-and-notebooks:\n fn::invoke:\n Function: dynatrace:getDocuments\n Arguments: {}\n all-dashboards:\n fn::invoke:\n Function: dynatrace:getDocuments\n Arguments:\n type: dashboard\n all-notebooks:\n fn::invoke:\n Function: dynatrace:getDocuments\n Arguments:\n type: notebook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **View documents** (`document:documents:read`).\n\n- `type` (String) The type of documents to query for. Leave empty if you want to query for all kinds of documents.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all-dashboard-and-notebooks = dynatrace.getDocuments({});\nconst all-dashboards = dynatrace.getDocuments({\n type: \"dashboard\",\n});\nconst all-notebooks = dynatrace.getDocuments({\n type: \"notebook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall_dashboard_and_notebooks = dynatrace.get_documents()\nall_dashboards = dynatrace.get_documents(type=\"dashboard\")\nall_notebooks = dynatrace.get_documents(type=\"notebook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all_dashboard_and_notebooks = Dynatrace.GetDocuments.Invoke();\n\n var all_dashboards = Dynatrace.GetDocuments.Invoke(new()\n {\n Type = \"dashboard\",\n });\n\n var all_notebooks = Dynatrace.GetDocuments.Invoke(new()\n {\n Type = \"notebook\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.GetDocuments(ctx, \u0026dynatrace.GetDocumentsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.GetDocuments(ctx, \u0026dynatrace.GetDocumentsArgs{\n\t\t\tType: pulumi.StringRef(\"dashboard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.GetDocuments(ctx, \u0026dynatrace.GetDocumentsArgs{\n\t\t\tType: pulumi.StringRef(\"notebook\"),\n\t\t}, nil)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetDocumentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all-dashboard-and-notebooks = DynatraceFunctions.getDocuments();\n\n final var all-dashboards = DynatraceFunctions.getDocuments(GetDocumentsArgs.builder()\n .type(\"dashboard\")\n .build());\n\n final var all-notebooks = DynatraceFunctions.getDocuments(GetDocumentsArgs.builder()\n .type(\"notebook\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all-dashboard-and-notebooks:\n fn::invoke:\n function: dynatrace:getDocuments\n arguments: {}\n all-dashboards:\n fn::invoke:\n function: dynatrace:getDocuments\n arguments:\n type: dashboard\n all-notebooks:\n fn::invoke:\n function: dynatrace:getDocuments\n arguments:\n type: notebook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDocuments.\n", "properties": { @@ -75292,7 +76104,7 @@ } }, "dynatrace:index/getEntities:getEntities": { - "description": "The entities data source allows all entities to be retrieved by its type.\n\n- `type` (String) Type of the entity, e.g. SERVICE. All available entity types can be retrieved with [/api/v2/entityTypes](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/entity-v2/get-all-entity-types).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst test = dynatrace.getEntities({\n type: \"SERVICE\",\n});\nexport const serviceList = test.then(test =\u003e test.entities);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\ntest = dynatrace.get_entities(type=\"SERVICE\")\npulumi.export(\"serviceList\", test.entities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetEntities.Invoke(new()\n {\n Type = \"SERVICE\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"serviceList\"] = test.Apply(getEntitiesResult =\u003e getEntitiesResult.Entities),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetEntities(ctx, \u0026dynatrace.GetEntitiesArgs{\n\t\t\tType: pulumi.StringRef(\"SERVICE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"serviceList\", test.Entities)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getEntities(GetEntitiesArgs.builder()\n .type(\"SERVICE\")\n .build());\n\n ctx.export(\"serviceList\", test.applyValue(getEntitiesResult -\u003e getEntitiesResult.entities()));\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getEntities\n Arguments:\n type: SERVICE\noutputs:\n serviceList: ${test.entities}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The entities data source allows all entities to be retrieved by its type.\n\n- `type` (String) Type of the entity, e.g. SERVICE. All available entity types can be retrieved with [/api/v2/entityTypes](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/entity-v2/get-all-entity-types).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst test = dynatrace.getEntities({\n type: \"SERVICE\",\n});\nexport const serviceList = test.then(test =\u003e test.entities);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\ntest = dynatrace.get_entities(type=\"SERVICE\")\npulumi.export(\"serviceList\", test.entities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetEntities.Invoke(new()\n {\n Type = \"SERVICE\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"serviceList\"] = test.Apply(getEntitiesResult =\u003e getEntitiesResult.Entities),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetEntities(ctx, \u0026dynatrace.GetEntitiesArgs{\n\t\t\tType: pulumi.StringRef(\"SERVICE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"serviceList\", test.Entities)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetEntitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getEntities(GetEntitiesArgs.builder()\n .type(\"SERVICE\")\n .build());\n\n ctx.export(\"serviceList\", test.applyValue(getEntitiesResult -\u003e getEntitiesResult.entities()));\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getEntities\n arguments:\n type: SERVICE\noutputs:\n serviceList: ${test.entities}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEntities.\n", "properties": { @@ -75345,7 +76157,7 @@ } }, "dynatrace:index/getEntity:getEntity": { - "description": "The entity data source allows the entity ID to be retrieved by its name and type.\n\n- `name` (String) Display name of the entity\n- `type` (String) Type of the entity, e.g. SERVICE. All available entity types can be retrieved with [/api/v2/entityTypes](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/entity-v2/get-all-entity-types).\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst test = dynatrace.getEntity({\n type: \"SERVICE\",\n name: \"BookingService\",\n});\nexport const id = test.then(test =\u003e test.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\ntest = dynatrace.get_entity(type=\"SERVICE\",\n name=\"BookingService\")\npulumi.export(\"id\", test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetEntity.Invoke(new()\n {\n Type = \"SERVICE\",\n Name = \"BookingService\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = test.Apply(getEntityResult =\u003e getEntityResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetEntity(ctx, \u0026dynatrace.GetEntityArgs{\n\t\t\tType: pulumi.StringRef(\"SERVICE\"),\n\t\t\tName: pulumi.StringRef(\"BookingService\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", test.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetEntityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getEntity(GetEntityArgs.builder()\n .type(\"SERVICE\")\n .name(\"BookingService\")\n .build());\n\n ctx.export(\"id\", test.applyValue(getEntityResult -\u003e getEntityResult.id()));\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getEntity\n Arguments:\n type: SERVICE\n name: BookingService\noutputs:\n id: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The entity data source allows the entity ID to be retrieved by its name and type.\n\n- `name` (String) Display name of the entity\n- `type` (String) Type of the entity, e.g. SERVICE. All available entity types can be retrieved with [/api/v2/entityTypes](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/entity-v2/get-all-entity-types).\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst test = dynatrace.getEntity({\n type: \"SERVICE\",\n name: \"BookingService\",\n});\nexport const id = test.then(test =\u003e test.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\ntest = dynatrace.get_entity(type=\"SERVICE\",\n name=\"BookingService\")\npulumi.export(\"id\", test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetEntity.Invoke(new()\n {\n Type = \"SERVICE\",\n Name = \"BookingService\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = test.Apply(getEntityResult =\u003e getEntityResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetEntity(ctx, \u0026dynatrace.GetEntityArgs{\n\t\t\tType: pulumi.StringRef(\"SERVICE\"),\n\t\t\tName: pulumi.StringRef(\"BookingService\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", test.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetEntityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getEntity(GetEntityArgs.builder()\n .type(\"SERVICE\")\n .name(\"BookingService\")\n .build());\n\n ctx.export(\"id\", test.applyValue(getEntityResult -\u003e getEntityResult.id()));\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getEntity\n arguments:\n type: SERVICE\n name: BookingService\noutputs:\n id: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEntity.\n", "properties": { @@ -75404,7 +76216,7 @@ } }, "dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters": { - "description": "The `dynatrace.FailureDetectionParameters` data source allows the failure detection parameter ID to be retrieved by its name.\n\n- `name` (String) - The name of the failure detection parameter\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getFailureDetectionParameters({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_failure_detection_parameters(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetFailureDetectionParameters.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getFailureDetectionParametersResult =\u003e getFailureDetectionParametersResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupFailureDetectionParameters(ctx, \u0026dynatrace.LookupFailureDetectionParametersArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetFailureDetectionParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getFailureDetectionParameters(GetFailureDetectionParametersArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getFailureDetectionParametersResult -\u003e getFailureDetectionParametersResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getFailureDetectionParameters\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.FailureDetectionParameters` data source allows the failure detection parameter ID to be retrieved by its name.\n\n- `name` (String) - The name of the failure detection parameter\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getFailureDetectionParameters({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_failure_detection_parameters(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetFailureDetectionParameters.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getFailureDetectionParametersResult =\u003e getFailureDetectionParametersResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupFailureDetectionParameters(ctx, \u0026dynatrace.LookupFailureDetectionParametersArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetFailureDetectionParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getFailureDetectionParameters(GetFailureDetectionParametersArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getFailureDetectionParametersResult -\u003e getFailureDetectionParametersResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getFailureDetectionParameters\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFailureDetectionParameters.\n", "properties": { @@ -75436,7 +76248,7 @@ } }, "dynatrace:index/getGenericSetting:getGenericSetting": { - "description": "The generic setting data source allows a single Settings 2.0 object to be retrieved by its schema ID, scope, and/or filter.\n\nIf multiple objects match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGenericSetting({\n schema: \"builtin:alerting.maintenance-window\",\n filter: \"value.generalProperties.name = 'Terraform Example'\",\n});\nexport const genericSetting = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_generic_setting(schema=\"builtin:alerting.maintenance-window\",\n filter=\"value.generalProperties.name = 'Terraform Example'\")\npulumi.export(\"genericSetting\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGenericSetting.Invoke(new()\n {\n Schema = \"builtin:alerting.maintenance-window\",\n Filter = \"value.generalProperties.name = 'Terraform Example'\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"genericSetting\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupGenericSetting(ctx, \u0026dynatrace.LookupGenericSettingArgs{\n\t\t\tSchema: pulumi.StringRef(\"builtin:alerting.maintenance-window\"),\n\t\t\tFilter: pulumi.StringRef(\"value.generalProperties.name = 'Terraform Example'\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"genericSetting\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetGenericSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGenericSetting(GetGenericSettingArgs.builder()\n .schema(\"builtin:alerting.maintenance-window\")\n .filter(\"value.generalProperties.name = 'Terraform Example'\")\n .build());\n\n ctx.export(\"genericSetting\", example.applyValue(getGenericSettingResult -\u003e getGenericSettingResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getGenericSetting\n Arguments:\n schema: builtin:alerting.maintenance-window\n filter: value.generalProperties.name = 'Terraform Example'\noutputs:\n genericSetting: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The generic setting data source allows a single Settings 2.0 object to be retrieved by its schema ID, scope, and/or filter.\n\nIf multiple objects match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGenericSetting({\n schema: \"builtin:alerting.maintenance-window\",\n filter: \"value.generalProperties.name = 'Terraform Example'\",\n});\nexport const genericSetting = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_generic_setting(schema=\"builtin:alerting.maintenance-window\",\n filter=\"value.generalProperties.name = 'Terraform Example'\")\npulumi.export(\"genericSetting\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGenericSetting.Invoke(new()\n {\n Schema = \"builtin:alerting.maintenance-window\",\n Filter = \"value.generalProperties.name = 'Terraform Example'\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"genericSetting\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupGenericSetting(ctx, \u0026dynatrace.LookupGenericSettingArgs{\n\t\t\tSchema: pulumi.StringRef(\"builtin:alerting.maintenance-window\"),\n\t\t\tFilter: pulumi.StringRef(\"value.generalProperties.name = 'Terraform Example'\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"genericSetting\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetGenericSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGenericSetting(GetGenericSettingArgs.builder()\n .schema(\"builtin:alerting.maintenance-window\")\n .filter(\"value.generalProperties.name = 'Terraform Example'\")\n .build());\n\n ctx.export(\"genericSetting\", example.applyValue(getGenericSettingResult -\u003e getGenericSettingResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getGenericSetting\n arguments:\n schema: builtin:alerting.maintenance-window\n filter: value.generalProperties.name = 'Terraform Example'\noutputs:\n genericSetting: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGenericSetting.\n", "properties": { @@ -75488,7 +76300,7 @@ } }, "dynatrace:index/getGenericSettings:getGenericSettings": { - "description": "The generic settings data source allows Settings 2.0 objects to be retrieved by its schema ID, scope, and/or filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGenericSettings({\n schema: \"builtin:alerting.maintenance-window\",\n});\nexport const genericSettings = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_generic_settings(schema=\"builtin:alerting.maintenance-window\")\npulumi.export(\"genericSettings\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGenericSettings.Invoke(new()\n {\n Schema = \"builtin:alerting.maintenance-window\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"genericSettings\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetGenericSettings(ctx, \u0026dynatrace.GetGenericSettingsArgs{\n\t\t\tSchema: pulumi.StringRef(\"builtin:alerting.maintenance-window\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"genericSettings\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetGenericSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGenericSettings(GetGenericSettingsArgs.builder()\n .schema(\"builtin:alerting.maintenance-window\")\n .build());\n\n ctx.export(\"genericSettings\", example.applyValue(getGenericSettingsResult -\u003e getGenericSettingsResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getGenericSettings\n Arguments:\n schema: builtin:alerting.maintenance-window\noutputs:\n genericSettings: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The generic settings data source allows Settings 2.0 objects to be retrieved by its schema ID, scope, and/or filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGenericSettings({\n schema: \"builtin:alerting.maintenance-window\",\n});\nexport const genericSettings = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_generic_settings(schema=\"builtin:alerting.maintenance-window\")\npulumi.export(\"genericSettings\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGenericSettings.Invoke(new()\n {\n Schema = \"builtin:alerting.maintenance-window\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"genericSettings\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetGenericSettings(ctx, \u0026dynatrace.GetGenericSettingsArgs{\n\t\t\tSchema: pulumi.StringRef(\"builtin:alerting.maintenance-window\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"genericSettings\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetGenericSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGenericSettings(GetGenericSettingsArgs.builder()\n .schema(\"builtin:alerting.maintenance-window\")\n .build());\n\n ctx.export(\"genericSettings\", example.applyValue(getGenericSettingsResult -\u003e getGenericSettingsResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getGenericSettings\n arguments:\n schema: builtin:alerting.maintenance-window\noutputs:\n genericSettings: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGenericSettings.\n", "properties": { @@ -75542,8 +76354,123 @@ ] } }, + "dynatrace:index/getGeoCities:getGeoCities": { + "description": "The `dynatrace.getGeoCities` data source retrieves the list of cities and their codes based on country and region code.\n\n- `country_code` (String) - The ISO code of the required country\n- `region_code` (String) - The code of the required region\n\nGeographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGeoCities({\n countryCode: \"FR\",\n regionCode: \"BRE\",\n});\nexport const test = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_geo_cities(country_code=\"FR\",\n region_code=\"BRE\")\npulumi.export(\"test\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGeoCities.Invoke(new()\n {\n CountryCode = \"FR\",\n RegionCode = \"BRE\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"test\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetGeoCities(ctx, \u0026dynatrace.GetGeoCitiesArgs{\n\t\t\tCountryCode: \"FR\",\n\t\t\tRegionCode: \"BRE\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"test\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetGeoCitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGeoCities(GetGeoCitiesArgs.builder()\n .countryCode(\"FR\")\n .regionCode(\"BRE\")\n .build());\n\n ctx.export(\"test\", example.applyValue(getGeoCitiesResult -\u003e getGeoCitiesResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getGeoCities\n arguments:\n countryCode: FR\n regionCode: BRE\noutputs:\n test: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getGeoCities.\n", + "properties": { + "countryCode": { + "type": "string", + "description": "The ISO code of the required country\n" + }, + "regionCode": { + "type": "string", + "description": "The code of the required region\n" + } + }, + "type": "object", + "required": [ + "countryCode", + "regionCode" + ] + }, + "outputs": { + "description": "A collection of values returned by getGeoCities.\n", + "properties": { + "cities": { + "type": "array", + "items": { + "$ref": "#/types/dynatrace:index/getGeoCitiesCity:getGeoCitiesCity" + } + }, + "countryCode": { + "type": "string", + "description": "The ISO code of the required country\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "regionCode": { + "type": "string", + "description": "The code of the required region\n" + } + }, + "type": "object", + "required": [ + "cities", + "countryCode", + "regionCode", + "id" + ] + } + }, + "dynatrace:index/getGeoCountries:getGeoCountries": { + "description": "The `dynatrace.getGeoCountries` data source retrieves the list of countries and their codes.\n\nGeographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGeoCountries({});\nexport const test = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_geo_countries()\npulumi.export(\"test\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGeoCountries.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"test\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetGeoCountries(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"test\", example)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGeoCountries();\n\n ctx.export(\"test\", example.applyValue(getGeoCountriesResult -\u003e getGeoCountriesResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getGeoCountries\n arguments: {}\noutputs:\n test: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "outputs": { + "description": "A collection of values returned by getGeoCountries.\n", + "properties": { + "countries": { + "type": "array", + "items": { + "$ref": "#/types/dynatrace:index/getGeoCountriesCountry:getGeoCountriesCountry" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + } + }, + "type": "object", + "required": [ + "countries", + "id" + ] + } + }, + "dynatrace:index/getGeoRegions:getGeoRegions": { + "description": "The `dynatrace.getGeoRegions` data source retrieves the list of regions and their codes based on country code.\n\n- `country_code` (String) - The ISO code of the required country\n\nGeographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getGeoRegions({\n countryCode: \"FR\",\n});\nexport const test = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_geo_regions(country_code=\"FR\")\npulumi.export(\"test\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetGeoRegions.Invoke(new()\n {\n CountryCode = \"FR\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"test\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetGeoRegions(ctx, \u0026dynatrace.GetGeoRegionsArgs{\n\t\t\tCountryCode: \"FR\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"test\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetGeoRegionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getGeoRegions(GetGeoRegionsArgs.builder()\n .countryCode(\"FR\")\n .build());\n\n ctx.export(\"test\", example.applyValue(getGeoRegionsResult -\u003e getGeoRegionsResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getGeoRegions\n arguments:\n countryCode: FR\noutputs:\n test: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getGeoRegions.\n", + "properties": { + "countryCode": { + "type": "string", + "description": "The ISO code of the required country\n" + } + }, + "type": "object", + "required": [ + "countryCode" + ] + }, + "outputs": { + "description": "A collection of values returned by getGeoRegions.\n", + "properties": { + "countryCode": { + "type": "string", + "description": "The ISO code of the required country\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/types/dynatrace:index/getGeoRegionsRegion:getGeoRegionsRegion" + } + } + }, + "type": "object", + "required": [ + "countryCode", + "regions", + "id" + ] + } + }, "dynatrace:index/getHost:getHost": { - "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `HOST` instead.\n\nThe host data source allows the host ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all hosts with the specified name\n- `tags` (optional) refers to the tags that need to be present for the host (inclusive)\n\nIf multiple hosts match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getHost({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.ManagementZone(\"#name#\", {entitySelectorBasedRules: [{\n enabled: true,\n selector: test.then(test =\u003e `type(\"host\"),entityId(\"${test.id}\")`),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_host(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.ManagementZone(\"#name#\", entity_selector_based_rules=[{\n \"enabled\": True,\n \"selector\": f\"type(\\\"host\\\"),entityId(\\\"{test.id}\\\")\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetHost.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.ManagementZone(\"#name#\", new()\n {\n EntitySelectorBasedRules = new[]\n {\n new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs\n {\n Enabled = true,\n Selector = $\"type(\\\"host\\\"),entityId(\\\"{test.Apply(getHostResult =\u003e getHostResult.Id)}\\\")\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetHost(ctx, \u0026dynatrace.GetHostArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewManagementZone(ctx, \"#name#\", \u0026dynatrace.ManagementZoneArgs{\n\t\t\tEntitySelectorBasedRules: dynatrace.ManagementZoneEntitySelectorBasedRuleArray{\n\t\t\t\t\u0026dynatrace.ManagementZoneEntitySelectorBasedRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tSelector: pulumi.Sprintf(\"type(\\\"host\\\"),entityId(\\\"%v\\\")\", test.Id),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetHostArgs;\nimport com.pulumi.dynatrace.ManagementZone;\nimport com.pulumi.dynatrace.ManagementZoneArgs;\nimport com.pulumi.dynatrace.inputs.ManagementZoneEntitySelectorBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getHost(GetHostArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new ManagementZone(\"#name#\", ManagementZoneArgs.builder()\n .entitySelectorBasedRules(ManagementZoneEntitySelectorBasedRuleArgs.builder()\n .enabled(true)\n .selector(String.format(\"type(\\\"host\\\"),entityId(\\\"%s\\\")\", test.applyValue(getHostResult -\u003e getHostResult.id())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ManagementZone\n properties:\n entitySelectorBasedRules:\n - enabled: true\n selector: type(\"host\"),entityId(\"${test.id}\")\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getHost\n Arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `HOST` instead.\n\nThe host data source allows the host ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all hosts with the specified name\n- `tags` (optional) refers to the tags that need to be present for the host (inclusive)\n\nIf multiple hosts match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getHost({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.ManagementZone(\"#name#\", {entitySelectorBasedRules: [{\n enabled: true,\n selector: test.then(test =\u003e `type(\"host\"),entityId(\"${test.id}\")`),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_host(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.ManagementZone(\"#name#\", entity_selector_based_rules=[{\n \"enabled\": True,\n \"selector\": f\"type(\\\"host\\\"),entityId(\\\"{test.id}\\\")\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetHost.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.ManagementZone(\"#name#\", new()\n {\n EntitySelectorBasedRules = new[]\n {\n new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs\n {\n Enabled = true,\n Selector = $\"type(\\\"host\\\"),entityId(\\\"{test.Apply(getHostResult =\u003e getHostResult.Id)}\\\")\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetHost(ctx, \u0026dynatrace.GetHostArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewManagementZone(ctx, \"#name#\", \u0026dynatrace.ManagementZoneArgs{\n\t\t\tEntitySelectorBasedRules: dynatrace.ManagementZoneEntitySelectorBasedRuleArray{\n\t\t\t\t\u0026dynatrace.ManagementZoneEntitySelectorBasedRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tSelector: pulumi.Sprintf(\"type(\\\"host\\\"),entityId(\\\"%v\\\")\", test.Id),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetHostArgs;\nimport com.pulumi.dynatrace.ManagementZone;\nimport com.pulumi.dynatrace.ManagementZoneArgs;\nimport com.pulumi.dynatrace.inputs.ManagementZoneEntitySelectorBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getHost(GetHostArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new ManagementZone(\"#name#\", ManagementZoneArgs.builder()\n .entitySelectorBasedRules(ManagementZoneEntitySelectorBasedRuleArgs.builder()\n .enabled(true)\n .selector(String.format(\"type(\\\"host\\\"),entityId(\\\"%s\\\")\", test.applyValue(getHostResult -\u003e getHostResult.id())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ManagementZone\n properties:\n entitySelectorBasedRules:\n - enabled: true\n selector: type(\"host\"),entityId(\"${test.id}\")\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getHost\n arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHost.\n", "properties": { @@ -75589,7 +76516,7 @@ } }, "dynatrace:index/getHubItems:getHubItems": { - "description": "\u003e This data source requires the API token scope `hub.read`)\n\n- `type` (String) The type of hub item you are interested in. Possible values are `TECHNOLOGY`, `EXTENSION1` or `EXTENSION2`. If not specified, no restriction regarding type happens\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nexport = async () =\u003e {\n const extension-20-items = await dynatrace.getHubItems({\n type: \"EXTENSION2\",\n });\n return {\n \"artifact-ids\": extension_20_items.artifacts,\n \"hub-items\": extension_20_items.items,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nextension_20_items = dynatrace.get_hub_items(type=\"EXTENSION2\")\npulumi.export(\"artifact-ids\", extension_20_items.artifacts)\npulumi.export(\"hub-items\", extension_20_items.items)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extension_20_items = Dynatrace.GetHubItems.Invoke(new()\n {\n Type = \"EXTENSION2\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"artifact-ids\"] = extension_20_items.Apply(extension_20_items =\u003e extension_20_items.Apply(getHubItemsResult =\u003e getHubItemsResult.Artifacts)),\n [\"hub-items\"] = extension_20_items.Apply(extension_20_items =\u003e extension_20_items.Apply(getHubItemsResult =\u003e getHubItemsResult.Items)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\textension_20_items, err := dynatrace.GetHubItems(ctx, \u0026dynatrace.GetHubItemsArgs{\n\t\t\tType: pulumi.StringRef(\"EXTENSION2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"artifact-ids\", extension_20_items.Artifacts)\n\t\tctx.Export(\"hub-items\", extension_20_items.Items)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetHubItemsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var extension-20-items = DynatraceFunctions.getHubItems(GetHubItemsArgs.builder()\n .type(\"EXTENSION2\")\n .build());\n\n ctx.export(\"artifact-ids\", extension_20_items.artifacts());\n ctx.export(\"hub-items\", extension_20_items.items());\n }\n}\n```\n```yaml\nvariables:\n extension-20-items:\n fn::invoke:\n Function: dynatrace:getHubItems\n Arguments:\n type: EXTENSION2\noutputs:\n artifact-ids: ${[\"extension-20-items\"].artifacts}\n hub-items: ${[\"extension-20-items\"].items}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e This data source requires the API token scope `hub.read`)\n\n- `type` (String) The type of hub item you are interested in. Possible values are `TECHNOLOGY`, `EXTENSION1` or `EXTENSION2`. If not specified, no restriction regarding type happens\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nexport = async () =\u003e {\n const extension-20-items = await dynatrace.getHubItems({\n type: \"EXTENSION2\",\n });\n return {\n \"artifact-ids\": extension_20_items.artifacts,\n \"hub-items\": extension_20_items.items,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nextension_20_items = dynatrace.get_hub_items(type=\"EXTENSION2\")\npulumi.export(\"artifact-ids\", extension_20_items.artifacts)\npulumi.export(\"hub-items\", extension_20_items.items)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extension_20_items = Dynatrace.GetHubItems.Invoke(new()\n {\n Type = \"EXTENSION2\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"artifact-ids\"] = extension_20_items.Apply(extension_20_items =\u003e extension_20_items.Apply(getHubItemsResult =\u003e getHubItemsResult.Artifacts)),\n [\"hub-items\"] = extension_20_items.Apply(extension_20_items =\u003e extension_20_items.Apply(getHubItemsResult =\u003e getHubItemsResult.Items)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\textension_20_items, err := dynatrace.GetHubItems(ctx, \u0026dynatrace.GetHubItemsArgs{\n\t\t\tType: pulumi.StringRef(\"EXTENSION2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"artifact-ids\", extension_20_items.Artifacts)\n\t\tctx.Export(\"hub-items\", extension_20_items.Items)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetHubItemsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var extension-20-items = DynatraceFunctions.getHubItems(GetHubItemsArgs.builder()\n .type(\"EXTENSION2\")\n .build());\n\n ctx.export(\"artifact-ids\", extension_20_items.artifacts());\n ctx.export(\"hub-items\", extension_20_items.items());\n }\n}\n```\n```yaml\nvariables:\n extension-20-items:\n fn::invoke:\n function: dynatrace:getHubItems\n arguments:\n type: EXTENSION2\noutputs:\n artifact-ids: ${[\"extension-20-items\"].artifacts}\n hub-items: ${[\"extension-20-items\"].items}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getHubItems.\n", "properties": { @@ -75635,7 +76562,7 @@ } }, "dynatrace:index/getIamGroup:getIamGroup": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`).\n\nThe IAM group data source allows the group ID to be retrieved by its name.\n\n- `name` (String) - The name of the IAM group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getIamGroup({\n name: \"Terraform Example\",\n});\nexport const groups = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_iam_group(name=\"Terraform Example\")\npulumi.export(\"groups\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetIamGroup.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = example.Apply(getIamGroupResult =\u003e getIamGroupResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupIamGroup(ctx, \u0026dynatrace.LookupIamGroupArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getIamGroup(GetIamGroupArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"groups\", example.applyValue(getIamGroupResult -\u003e getIamGroupResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getIamGroup\n Arguments:\n name: Terraform Example\noutputs:\n groups: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`).\n\nThe IAM group data source allows the group ID to be retrieved by its name.\n\n- `name` (String) - The name of the IAM group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getIamGroup({\n name: \"Terraform Example\",\n});\nexport const groups = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_iam_group(name=\"Terraform Example\")\npulumi.export(\"groups\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetIamGroup.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = example.Apply(getIamGroupResult =\u003e getIamGroupResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupIamGroup(ctx, \u0026dynatrace.LookupIamGroupArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getIamGroup(GetIamGroupArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"groups\", example.applyValue(getIamGroupResult -\u003e getIamGroupResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getIamGroup\n arguments:\n name: Terraform Example\noutputs:\n groups: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIamGroup.\n", "properties": { @@ -75667,7 +76594,7 @@ } }, "dynatrace:index/getIamGroups:getIamGroups": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all-groups = dynatrace.getIamGroups({});\nexport const groups = all_groups;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall_groups = dynatrace.get_iam_groups()\npulumi.export(\"groups\", all_groups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all_groups = Dynatrace.GetIamGroups.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = all_groups,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall_groups, err := dynatrace.GetIamGroups(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", all_groups)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all-groups = DynatraceFunctions.getIamGroups();\n\n ctx.export(\"groups\", all_groups);\n }\n}\n```\n```yaml\nvariables:\n all-groups:\n fn::invoke:\n Function: dynatrace:getIamGroups\n Arguments: {}\noutputs:\n groups: ${[\"all-groups\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example output\n```\nChanges to Outputs:\n + groups = {\n + groups = {\n + \"########-3036-3ac2-5fa4-############\" = \"Group A\"\n + \"########-4049-4241-ac2b-############\" = \"Group B\"\n + \"########-5365-4450-89ab-############\" = \"Group C\"\n }\n + id = \"iam-groups\"\n }\n```\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all-groups = dynatrace.getIamGroups({});\nexport const groups = all_groups;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall_groups = dynatrace.get_iam_groups()\npulumi.export(\"groups\", all_groups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all_groups = Dynatrace.GetIamGroups.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = all_groups,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall_groups, err := dynatrace.GetIamGroups(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", all_groups)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all-groups = DynatraceFunctions.getIamGroups();\n\n ctx.export(\"groups\", all_groups);\n }\n}\n```\n```yaml\nvariables:\n all-groups:\n fn::invoke:\n function: dynatrace:getIamGroups\n arguments: {}\noutputs:\n groups: ${[\"all-groups\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example output\n```\nChanges to Outputs:\n + groups = {\n + groups = {\n + \"########-3036-3ac2-5fa4-############\" = \"Group A\"\n + \"########-4049-4241-ac2b-############\" = \"Group B\"\n + \"########-5365-4450-89ab-############\" = \"Group C\"\n }\n + id = \"iam-groups\"\n }\n```\n", "outputs": { "description": "A collection of values returned by getIamGroups.\n", "properties": { @@ -75690,7 +76617,7 @@ } }, "dynatrace:index/getIamPolicies:getIamPolicies": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow IAM policy configuration for environments** (`iam-policies-management`) and **View environments** (`account-env-read`).\n\nYou can use the attributes `environments`, `accounts` and `globals` to refine which policies you want to query for.\n* The attribute `global` indicates whether the results should also contain global (Dynatrace defined) policies\n* The attribute `environment` is an array of environment IDs.\n* The results won't contain any environment specific policies if the attribute `environments` has been omitted\n* The results will contain policies for all environments reachable via the given credentials if `environments` is set to `[\"*\"]`\n* The attribute `accounts` is an array of accounts UUIDs. Set this to `[\"*\"]` if you want to receive account specific policies.\n* The results won't contain any account specific policies if the attribute `accounts` has been omitted\n## Example Usage\n\nThe following example queries for polices of all environments reachable via the given credentials, all accounts and all global policies.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all = dynatrace.getIamPolicies({\n accounts: [\"*\"],\n environments: [\"*\"],\n global: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall = dynatrace.get_iam_policies(accounts=[\"*\"],\n environments=[\"*\"],\n global_=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Dynatrace.GetIamPolicies.Invoke(new()\n {\n Accounts = new[]\n {\n \"*\",\n },\n Environments = new[]\n {\n \"*\",\n },\n Global = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.GetIamPolicies(ctx, \u0026dynatrace.GetIamPoliciesArgs{\n\t\t\tAccounts: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tEnvironments: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tGlobal: pulumi.BoolRef(true),\n\t\t}, nil)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = DynatraceFunctions.getIamPolicies(GetIamPoliciesArgs.builder()\n .accounts(\"*\")\n .environments(\"*\")\n .global(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: dynatrace:getIamPolicies\n Arguments:\n accounts:\n - '*'\n environments:\n - '*'\n global: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThe following example queries for policies that are defined for the environment with the id `abce234`. No account specific or global policies will be included.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all = dynatrace.getIamPolicies({\n environments: [\"abce234\"],\n global: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall = dynatrace.get_iam_policies(environments=[\"abce234\"],\n global_=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Dynatrace.GetIamPolicies.Invoke(new()\n {\n Environments = new[]\n {\n \"abce234\",\n },\n Global = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.GetIamPolicies(ctx, \u0026dynatrace.GetIamPoliciesArgs{\n\t\t\tEnvironments: []string{\n\t\t\t\t\"abce234\",\n\t\t\t},\n\t\t\tGlobal: pulumi.BoolRef(false),\n\t\t}, nil)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = DynatraceFunctions.getIamPolicies(GetIamPoliciesArgs.builder()\n .environments(\"abce234\")\n .global(false)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: dynatrace:getIamPolicies\n Arguments:\n environments:\n - abce234\n global: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Output\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all = dynatrace.getIamPolicies({\n environments: [\"*\"],\n accounts: [\"*\"],\n global: true,\n});\nexport const policies = all.then(all =\u003e all.policies);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall = dynatrace.get_iam_policies(environments=[\"*\"],\n accounts=[\"*\"],\n global_=True)\npulumi.export(\"policies\", all.policies)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Dynatrace.GetIamPolicies.Invoke(new()\n {\n Environments = new[]\n {\n \"*\",\n },\n Accounts = new[]\n {\n \"*\",\n },\n Global = true,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"policies\"] = all.Apply(getIamPoliciesResult =\u003e getIamPoliciesResult.Policies),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := dynatrace.GetIamPolicies(ctx, \u0026dynatrace.GetIamPoliciesArgs{\n\t\t\tEnvironments: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tAccounts: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tGlobal: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"policies\", all.Policies)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = DynatraceFunctions.getIamPolicies(GetIamPoliciesArgs.builder()\n .environments(\"*\")\n .accounts(\"*\")\n .global(true)\n .build());\n\n ctx.export(\"policies\", all.applyValue(getIamPoliciesResult -\u003e getIamPoliciesResult.policies()));\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: dynatrace:getIamPolicies\n Arguments:\n environments:\n - '*'\n accounts:\n - '*'\n global: true\noutputs:\n policies: ${all.policies}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n```\nChanges to Outputs:\n + policies = [\n + {\n + account = \"########-86d8-####-88bd-############\"\n + environment = \"\"\n + global = false\n + id = \"########-7a6a-####-a43e-#############-#account#-#########-86d8-####-88bd-############\" \n + name = \"storage:bucket-definitions:delete\"\n + uuid = \"########-7a6a-####-a43e-############\"\n },\n ...\n + {\n + account = \"\"\n + environment = \"#######\"\n + global = false\n + id = \"########-c7d6-####-878c-#############-#environment#-########\"\n + name = \"some-policy\"\n + uuid = \"########-c7d6-####-878c-############\"\n }, \n ...\n + {\n + account = \"\"\n + environment = \"\"\n + global = true\n + id = \"########-6852-####-9d1b-#############-#global#-#global\"\n + name = \"Storage Events Read\"\n + uuid = \"########-6852-####-9d1b-############\"\n }, \n ]\n\n```\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow IAM policy configuration for environments** (`iam-policies-management`) and **View environments** (`account-env-read`).\n\nYou can use the attributes `environments`, `accounts` and `globals` to refine which policies you want to query for.\n* The attribute `global` indicates whether the results should also contain global (Dynatrace defined) policies\n* The attribute `environment` is an array of environment IDs.\n* The results won't contain any environment specific policies if the attribute `environments` has been omitted\n* The results will contain policies for all environments reachable via the given credentials if `environments` is set to `[\"*\"]`\n* The attribute `accounts` is an array of accounts UUIDs. Set this to `[\"*\"]` if you want to receive account specific policies.\n* The results won't contain any account specific policies if the attribute `accounts` has been omitted\n## Example Usage\n\nThe following example queries for polices of all environments reachable via the given credentials, all accounts and all global policies.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all = dynatrace.getIamPolicies({\n accounts: [\"*\"],\n environments: [\"*\"],\n global: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall = dynatrace.get_iam_policies(accounts=[\"*\"],\n environments=[\"*\"],\n global_=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Dynatrace.GetIamPolicies.Invoke(new()\n {\n Accounts = new[]\n {\n \"*\",\n },\n Environments = new[]\n {\n \"*\",\n },\n Global = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.GetIamPolicies(ctx, \u0026dynatrace.GetIamPoliciesArgs{\n\t\t\tAccounts: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tEnvironments: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tGlobal: pulumi.BoolRef(true),\n\t\t}, nil)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = DynatraceFunctions.getIamPolicies(GetIamPoliciesArgs.builder()\n .accounts(\"*\")\n .environments(\"*\")\n .global(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: dynatrace:getIamPolicies\n arguments:\n accounts:\n - '*'\n environments:\n - '*'\n global: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\nThe following example queries for policies that are defined for the environment with the id `abce234`. No account specific or global policies will be included.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all = dynatrace.getIamPolicies({\n environments: [\"abce234\"],\n global: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall = dynatrace.get_iam_policies(environments=[\"abce234\"],\n global_=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Dynatrace.GetIamPolicies.Invoke(new()\n {\n Environments = new[]\n {\n \"abce234\",\n },\n Global = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dynatrace.GetIamPolicies(ctx, \u0026dynatrace.GetIamPoliciesArgs{\n\t\t\tEnvironments: []string{\n\t\t\t\t\"abce234\",\n\t\t\t},\n\t\t\tGlobal: pulumi.BoolRef(false),\n\t\t}, nil)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = DynatraceFunctions.getIamPolicies(GetIamPoliciesArgs.builder()\n .environments(\"abce234\")\n .global(false)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: dynatrace:getIamPolicies\n arguments:\n environments:\n - abce234\n global: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Output\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst all = dynatrace.getIamPolicies({\n environments: [\"*\"],\n accounts: [\"*\"],\n global: true,\n});\nexport const policies = all.then(all =\u003e all.policies);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nall = dynatrace.get_iam_policies(environments=[\"*\"],\n accounts=[\"*\"],\n global_=True)\npulumi.export(\"policies\", all.policies)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var all = Dynatrace.GetIamPolicies.Invoke(new()\n {\n Environments = new[]\n {\n \"*\",\n },\n Accounts = new[]\n {\n \"*\",\n },\n Global = true,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"policies\"] = all.Apply(getIamPoliciesResult =\u003e getIamPoliciesResult.Policies),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := dynatrace.GetIamPolicies(ctx, \u0026dynatrace.GetIamPoliciesArgs{\n\t\t\tEnvironments: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tAccounts: []string{\n\t\t\t\t\"*\",\n\t\t\t},\n\t\t\tGlobal: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"policies\", all.Policies)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = DynatraceFunctions.getIamPolicies(GetIamPoliciesArgs.builder()\n .environments(\"*\")\n .accounts(\"*\")\n .global(true)\n .build());\n\n ctx.export(\"policies\", all.applyValue(getIamPoliciesResult -\u003e getIamPoliciesResult.policies()));\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: dynatrace:getIamPolicies\n arguments:\n environments:\n - '*'\n accounts:\n - '*'\n global: true\noutputs:\n policies: ${all.policies}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n```\nChanges to Outputs:\n + policies = [\n + {\n + account = \"########-86d8-####-88bd-############\"\n + environment = \"\"\n + global = false\n + id = \"########-7a6a-####-a43e-#############-#account#-#########-86d8-####-88bd-############\" \n + name = \"storage:bucket-definitions:delete\"\n + uuid = \"########-7a6a-####-a43e-############\"\n },\n ...\n + {\n + account = \"\"\n + environment = \"#######\"\n + global = false\n + id = \"########-c7d6-####-878c-#############-#environment#-########\"\n + name = \"some-policy\"\n + uuid = \"########-c7d6-####-878c-############\"\n }, \n ...\n + {\n + account = \"\"\n + environment = \"\"\n + global = true\n + id = \"########-6852-####-9d1b-#############-#global#-#global\"\n + name = \"Storage Events Read\"\n + uuid = \"########-6852-####-9d1b-############\"\n }, \n ]\n\n```\n", "inputs": { "description": "A collection of arguments for invoking getIamPolicies.\n", "properties": { @@ -75769,7 +76696,7 @@ } }, "dynatrace:index/getIamPolicy:getIamPolicy": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow IAM policy configuration for environments** (`iam-policies-management`) and **View environments** (`account-env-read`).\n\nThe IAM policy data source allows the policy UUID to be retrieved by its name and account/environment (exclude for global).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst appengineadmin = dynatrace.getIamPolicy({\n name: \"AppEngine - Admin\",\n});\nexport const policies = appengineadmin;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nappengineadmin = dynatrace.get_iam_policy(name=\"AppEngine - Admin\")\npulumi.export(\"policies\", appengineadmin)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var appengineadmin = Dynatrace.GetIamPolicy.Invoke(new()\n {\n Name = \"AppEngine - Admin\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"policies\"] = appengineadmin,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tappengineadmin, err := dynatrace.LookupIamPolicy(ctx, \u0026dynatrace.LookupIamPolicyArgs{\n\t\t\tName: \"AppEngine - Admin\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"policies\", appengineadmin)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var appengineadmin = DynatraceFunctions.getIamPolicy(GetIamPolicyArgs.builder()\n .name(\"AppEngine - Admin\")\n .build());\n\n ctx.export(\"policies\", appengineadmin.applyValue(getIamPolicyResult -\u003e getIamPolicyResult));\n }\n}\n```\n```yaml\nvariables:\n appengineadmin:\n fn::invoke:\n Function: dynatrace:getIamPolicy\n Arguments:\n name: AppEngine - Admin\noutputs:\n policies: ${appengineadmin}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Output\n\n```\nChanges to Outputs:\n + policies = {\n + account = null\n + environment = null\n + id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX#-#global#-#global\"\n + name = \"AppEngine - Admin\"\n + uuid = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n }\n```\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow IAM policy configuration for environments** (`iam-policies-management`) and **View environments** (`account-env-read`).\n\nThe IAM policy data source allows the policy UUID to be retrieved by its name and account/environment (exclude for global).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst appengineadmin = dynatrace.getIamPolicy({\n name: \"AppEngine - Admin\",\n});\nexport const policies = appengineadmin;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nappengineadmin = dynatrace.get_iam_policy(name=\"AppEngine - Admin\")\npulumi.export(\"policies\", appengineadmin)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var appengineadmin = Dynatrace.GetIamPolicy.Invoke(new()\n {\n Name = \"AppEngine - Admin\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"policies\"] = appengineadmin,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tappengineadmin, err := dynatrace.LookupIamPolicy(ctx, \u0026dynatrace.LookupIamPolicyArgs{\n\t\t\tName: \"AppEngine - Admin\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"policies\", appengineadmin)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var appengineadmin = DynatraceFunctions.getIamPolicy(GetIamPolicyArgs.builder()\n .name(\"AppEngine - Admin\")\n .build());\n\n ctx.export(\"policies\", appengineadmin.applyValue(getIamPolicyResult -\u003e getIamPolicyResult));\n }\n}\n```\n```yaml\nvariables:\n appengineadmin:\n fn::invoke:\n function: dynatrace:getIamPolicy\n arguments:\n name: AppEngine - Admin\noutputs:\n policies: ${appengineadmin}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Output\n\n```\nChanges to Outputs:\n + policies = {\n + account = null\n + environment = null\n + id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX#-#global#-#global\"\n + name = \"AppEngine - Admin\"\n + uuid = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n }\n```\n", "inputs": { "description": "A collection of arguments for invoking getIamPolicy.\n", "properties": { @@ -75828,7 +76755,7 @@ } }, "dynatrace:index/getIamUser:getIamUser": { - "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`).\n\nThis data source allows you to specify the email address of the user and produces an ordered list of group IDs this user is a member of\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst userA = dynatrace.getIamUser({\n email: \"me@home.com\",\n});\nexport const groups = userA.then(userA =\u003e userA.groups);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nuser_a = dynatrace.get_iam_user(email=\"me@home.com\")\npulumi.export(\"groups\", user_a.groups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userA = Dynatrace.GetIamUser.Invoke(new()\n {\n Email = \"me@home.com\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = userA.Apply(getIamUserResult =\u003e getIamUserResult.Groups),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuserA, err := dynatrace.LookupIamUser(ctx, \u0026dynatrace.LookupIamUserArgs{\n\t\t\tEmail: \"me@home.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", userA.Groups)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var userA = DynatraceFunctions.getIamUser(GetIamUserArgs.builder()\n .email(\"me@home.com\")\n .build());\n\n ctx.export(\"groups\", userA.applyValue(getIamUserResult -\u003e getIamUserResult.groups()));\n }\n}\n```\n```yaml\nvariables:\n userA:\n fn::invoke:\n Function: dynatrace:getIamUser\n Arguments:\n email: me@home.com\noutputs:\n groups: ${userA.groups}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Dynatrace SaaS only**\n\n\u003e To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`).\n\nThis data source allows you to specify the email address of the user and produces an ordered list of group IDs this user is a member of\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst userA = dynatrace.getIamUser({\n email: \"me@home.com\",\n});\nexport const groups = userA.then(userA =\u003e userA.groups);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nuser_a = dynatrace.get_iam_user(email=\"me@home.com\")\npulumi.export(\"groups\", user_a.groups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var userA = Dynatrace.GetIamUser.Invoke(new()\n {\n Email = \"me@home.com\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"groups\"] = userA.Apply(getIamUserResult =\u003e getIamUserResult.Groups),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuserA, err := dynatrace.LookupIamUser(ctx, \u0026dynatrace.LookupIamUserArgs{\n\t\t\tEmail: \"me@home.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"groups\", userA.Groups)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetIamUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var userA = DynatraceFunctions.getIamUser(GetIamUserArgs.builder()\n .email(\"me@home.com\")\n .build());\n\n ctx.export(\"groups\", userA.applyValue(getIamUserResult -\u003e getIamUserResult.groups()));\n }\n}\n```\n```yaml\nvariables:\n userA:\n fn::invoke:\n function: dynatrace:getIamUser\n arguments:\n email: me@home.com\noutputs:\n groups: ${userA.groups}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIamUser.\n", "properties": { @@ -75871,7 +76798,7 @@ } }, "dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion": { - "description": "The AWS Lambda agent version data source retrieves the latest version names of OneAgent code modules for the Java, Node.js, and Python runtimes, also including names for layers that are combined with the log collector, as well as for the standalone log collector layer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getLambdaAgentVersion({});\nexport const latest = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_lambda_agent_version()\npulumi.export(\"latest\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetLambdaAgentVersion.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"latest\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetLambdaAgentVersion(ctx, \u0026dynatrace.GetLambdaAgentVersionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"latest\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetLambdaAgentVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getLambdaAgentVersion();\n\n ctx.export(\"latest\", example.applyValue(getLambdaAgentVersionResult -\u003e getLambdaAgentVersionResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getLambdaAgentVersion\n Arguments: {}\noutputs:\n latest: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The AWS Lambda agent version data source retrieves the latest version names of OneAgent code modules for the Java, Node.js, and Python runtimes, also including names for layers that are combined with the log collector, as well as for the standalone log collector layer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getLambdaAgentVersion({});\nexport const latest = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_lambda_agent_version()\npulumi.export(\"latest\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetLambdaAgentVersion.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"latest\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.GetLambdaAgentVersion(ctx, \u0026dynatrace.GetLambdaAgentVersionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"latest\", example)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetLambdaAgentVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getLambdaAgentVersion();\n\n ctx.export(\"latest\", example.applyValue(getLambdaAgentVersionResult -\u003e getLambdaAgentVersionResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getLambdaAgentVersion\n arguments: {}\noutputs:\n latest: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLambdaAgentVersion.\n", "properties": { @@ -75956,7 +76883,7 @@ } }, "dynatrace:index/getManagementZone:getManagementZone": { - "description": "The management zone data source allows the management zone ID to be retrieved by its name.\n\n\u003e This data source requires the API token scope **Read configuration** (`ReadConfig`)\n\n!\u003e This data source is utilizing an older API endpoint, please use dynatrace.ManagementZoneV2 instead.\n\n- `name` queries for all management zones with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getManagementZone({\n name: \"Example\",\n});\nconst _name_ = new dynatrace.CalculatedServiceMetric(\"#name#\", {\n conditions: [{\n conditions: [{\n attribute: \"HTTP_REQUEST_METHOD\",\n comparison: {\n httpMethod: {\n operator: \"EQUALS_ANY_OF\",\n values: [\n \"POST\",\n \"GET\",\n ],\n },\n negate: false,\n },\n }],\n }],\n enabled: true,\n managementZones: [test.then(test =\u003e test.id)],\n metricDefinition: {\n metric: \"REQUEST_ATTRIBUTE\",\n requestAttribute: \"foo\",\n },\n metricKey: \"calc:service.#name#\",\n unit: \"MILLI_SECOND_PER_MINUTE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_management_zone(name=\"Example\")\n_name_ = dynatrace.CalculatedServiceMetric(\"#name#\",\n conditions=[{\n \"conditions\": [{\n \"attribute\": \"HTTP_REQUEST_METHOD\",\n \"comparison\": {\n \"http_method\": {\n \"operator\": \"EQUALS_ANY_OF\",\n \"values\": [\n \"POST\",\n \"GET\",\n ],\n },\n \"negate\": False,\n },\n }],\n }],\n enabled=True,\n management_zones=[test.id],\n metric_definition={\n \"metric\": \"REQUEST_ATTRIBUTE\",\n \"request_attribute\": \"foo\",\n },\n metric_key=\"calc:service.#name#\",\n unit=\"MILLI_SECOND_PER_MINUTE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetManagementZone.Invoke(new()\n {\n Name = \"Example\",\n });\n\n var _name_ = new Dynatrace.CalculatedServiceMetric(\"#name#\", new()\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs\n {\n Attribute = \"HTTP_REQUEST_METHOD\",\n Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs\n {\n HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs\n {\n Operator = \"EQUALS_ANY_OF\",\n Values = new[]\n {\n \"POST\",\n \"GET\",\n },\n },\n Negate = false,\n },\n },\n },\n },\n },\n Enabled = true,\n ManagementZones = new[]\n {\n test.Apply(getManagementZoneResult =\u003e getManagementZoneResult.Id),\n },\n MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs\n {\n Metric = \"REQUEST_ATTRIBUTE\",\n RequestAttribute = \"foo\",\n },\n MetricKey = \"calc:service.#name#\",\n Unit = \"MILLI_SECOND_PER_MINUTE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.LookupManagementZone(ctx, \u0026dynatrace.LookupManagementZoneArgs{\n\t\t\tName: \"Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewCalculatedServiceMetric(ctx, \"#name#\", \u0026dynatrace.CalculatedServiceMetricArgs{\n\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionArray{\n\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionArgs{\n\t\t\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionConditionArray{\n\t\t\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionConditionArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"HTTP_REQUEST_METHOD\"),\n\t\t\t\t\t\t\tComparison: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonArgs{\n\t\t\t\t\t\t\t\tHttpMethod: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS_ANY_OF\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tManagementZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.Id),\n\t\t\t},\n\t\t\tMetricDefinition: \u0026dynatrace.CalculatedServiceMetricMetricDefinitionArgs{\n\t\t\t\tMetric: pulumi.String(\"REQUEST_ATTRIBUTE\"),\n\t\t\t\tRequestAttribute: pulumi.String(\"foo\"),\n\t\t\t},\n\t\t\tMetricKey: pulumi.String(\"calc:service.#name#\"),\n\t\t\tUnit: pulumi.String(\"MILLI_SECOND_PER_MINUTE\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetManagementZoneArgs;\nimport com.pulumi.dynatrace.CalculatedServiceMetric;\nimport com.pulumi.dynatrace.CalculatedServiceMetricArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricConditionArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricMetricDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getManagementZone(GetManagementZoneArgs.builder()\n .name(\"Example\")\n .build());\n\n var _name_ = new CalculatedServiceMetric(\"#name#\", CalculatedServiceMetricArgs.builder()\n .conditions(CalculatedServiceMetricConditionArgs.builder()\n .conditions(CalculatedServiceMetricConditionConditionArgs.builder()\n .attribute(\"HTTP_REQUEST_METHOD\")\n .comparison(CalculatedServiceMetricConditionConditionComparisonArgs.builder()\n .httpMethod(CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs.builder()\n .operator(\"EQUALS_ANY_OF\")\n .values( \n \"POST\",\n \"GET\")\n .build())\n .negate(false)\n .build())\n .build())\n .build())\n .enabled(true)\n .managementZones(test.applyValue(getManagementZoneResult -\u003e getManagementZoneResult.id()))\n .metricDefinition(CalculatedServiceMetricMetricDefinitionArgs.builder()\n .metric(\"REQUEST_ATTRIBUTE\")\n .requestAttribute(\"foo\")\n .build())\n .metricKey(\"calc:service.#name#\")\n .unit(\"MILLI_SECOND_PER_MINUTE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:CalculatedServiceMetric\n properties:\n conditions:\n - conditions:\n - attribute: HTTP_REQUEST_METHOD\n comparison:\n httpMethod:\n operator: EQUALS_ANY_OF\n values:\n - POST\n - GET\n negate: false\n enabled: true\n managementZones:\n - ${test.id}\n metricDefinition:\n metric: REQUEST_ATTRIBUTE\n requestAttribute: foo\n metricKey: calc:service.#name#\n unit: MILLI_SECOND_PER_MINUTE\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getManagementZone\n Arguments:\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The management zone data source allows the management zone ID to be retrieved by its name.\n\n\u003e This data source requires the API token scope **Read configuration** (`ReadConfig`)\n\n!\u003e This data source is utilizing an older API endpoint, please use dynatrace.ManagementZoneV2 instead.\n\n- `name` queries for all management zones with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getManagementZone({\n name: \"Example\",\n});\nconst _name_ = new dynatrace.CalculatedServiceMetric(\"#name#\", {\n conditions: [{\n conditions: [{\n attribute: \"HTTP_REQUEST_METHOD\",\n comparison: {\n httpMethod: {\n operator: \"EQUALS_ANY_OF\",\n values: [\n \"POST\",\n \"GET\",\n ],\n },\n negate: false,\n },\n }],\n }],\n enabled: true,\n managementZones: [test.then(test =\u003e test.id)],\n metricDefinition: {\n metric: \"REQUEST_ATTRIBUTE\",\n requestAttribute: \"foo\",\n },\n metricKey: \"calc:service.#name#\",\n unit: \"MILLI_SECOND_PER_MINUTE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_management_zone(name=\"Example\")\n_name_ = dynatrace.CalculatedServiceMetric(\"#name#\",\n conditions=[{\n \"conditions\": [{\n \"attribute\": \"HTTP_REQUEST_METHOD\",\n \"comparison\": {\n \"http_method\": {\n \"operator\": \"EQUALS_ANY_OF\",\n \"values\": [\n \"POST\",\n \"GET\",\n ],\n },\n \"negate\": False,\n },\n }],\n }],\n enabled=True,\n management_zones=[test.id],\n metric_definition={\n \"metric\": \"REQUEST_ATTRIBUTE\",\n \"request_attribute\": \"foo\",\n },\n metric_key=\"calc:service.#name#\",\n unit=\"MILLI_SECOND_PER_MINUTE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetManagementZone.Invoke(new()\n {\n Name = \"Example\",\n });\n\n var _name_ = new Dynatrace.CalculatedServiceMetric(\"#name#\", new()\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs\n {\n Attribute = \"HTTP_REQUEST_METHOD\",\n Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs\n {\n HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs\n {\n Operator = \"EQUALS_ANY_OF\",\n Values = new[]\n {\n \"POST\",\n \"GET\",\n },\n },\n Negate = false,\n },\n },\n },\n },\n },\n Enabled = true,\n ManagementZones = new[]\n {\n test.Apply(getManagementZoneResult =\u003e getManagementZoneResult.Id),\n },\n MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs\n {\n Metric = \"REQUEST_ATTRIBUTE\",\n RequestAttribute = \"foo\",\n },\n MetricKey = \"calc:service.#name#\",\n Unit = \"MILLI_SECOND_PER_MINUTE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.LookupManagementZone(ctx, \u0026dynatrace.LookupManagementZoneArgs{\n\t\t\tName: \"Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewCalculatedServiceMetric(ctx, \"#name#\", \u0026dynatrace.CalculatedServiceMetricArgs{\n\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionArray{\n\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionArgs{\n\t\t\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionConditionArray{\n\t\t\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionConditionArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"HTTP_REQUEST_METHOD\"),\n\t\t\t\t\t\t\tComparison: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonArgs{\n\t\t\t\t\t\t\t\tHttpMethod: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS_ANY_OF\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tManagementZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.Id),\n\t\t\t},\n\t\t\tMetricDefinition: \u0026dynatrace.CalculatedServiceMetricMetricDefinitionArgs{\n\t\t\t\tMetric: pulumi.String(\"REQUEST_ATTRIBUTE\"),\n\t\t\t\tRequestAttribute: pulumi.String(\"foo\"),\n\t\t\t},\n\t\t\tMetricKey: pulumi.String(\"calc:service.#name#\"),\n\t\t\tUnit: pulumi.String(\"MILLI_SECOND_PER_MINUTE\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetManagementZoneArgs;\nimport com.pulumi.dynatrace.CalculatedServiceMetric;\nimport com.pulumi.dynatrace.CalculatedServiceMetricArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricConditionArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricMetricDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getManagementZone(GetManagementZoneArgs.builder()\n .name(\"Example\")\n .build());\n\n var _name_ = new CalculatedServiceMetric(\"#name#\", CalculatedServiceMetricArgs.builder()\n .conditions(CalculatedServiceMetricConditionArgs.builder()\n .conditions(CalculatedServiceMetricConditionConditionArgs.builder()\n .attribute(\"HTTP_REQUEST_METHOD\")\n .comparison(CalculatedServiceMetricConditionConditionComparisonArgs.builder()\n .httpMethod(CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs.builder()\n .operator(\"EQUALS_ANY_OF\")\n .values( \n \"POST\",\n \"GET\")\n .build())\n .negate(false)\n .build())\n .build())\n .build())\n .enabled(true)\n .managementZones(test.applyValue(getManagementZoneResult -\u003e getManagementZoneResult.id()))\n .metricDefinition(CalculatedServiceMetricMetricDefinitionArgs.builder()\n .metric(\"REQUEST_ATTRIBUTE\")\n .requestAttribute(\"foo\")\n .build())\n .metricKey(\"calc:service.#name#\")\n .unit(\"MILLI_SECOND_PER_MINUTE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:CalculatedServiceMetric\n properties:\n conditions:\n - conditions:\n - attribute: HTTP_REQUEST_METHOD\n comparison:\n httpMethod:\n operator: EQUALS_ANY_OF\n values:\n - POST\n - GET\n negate: false\n enabled: true\n managementZones:\n - ${test.id}\n metricDefinition:\n metric: REQUEST_ATTRIBUTE\n requestAttribute: foo\n metricKey: calc:service.#name#\n unit: MILLI_SECOND_PER_MINUTE\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getManagementZone\n arguments:\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getManagementZone.\n", "properties": { @@ -75996,7 +76923,7 @@ } }, "dynatrace:index/getManagementZoneV2:getManagementZoneV2": { - "description": "The management zone data source allows the management zone ID to be retrieved by its name.\n\n\u003e This data source requires the API token scopes **Read settings** (`settings.read`)\n\n- `name` queries for all management zones with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getManagementZoneV2({\n name: \"Example\",\n});\nconst _name_ = new dynatrace.CalculatedServiceMetric(\"#name#\", {\n conditions: [{\n conditions: [{\n attribute: \"HTTP_REQUEST_METHOD\",\n comparison: {\n httpMethod: {\n operator: \"EQUALS_ANY_OF\",\n values: [\n \"POST\",\n \"GET\",\n ],\n },\n negate: false,\n },\n }],\n }],\n enabled: true,\n managementZones: [test.then(test =\u003e test.legacyId)],\n metricDefinition: {\n metric: \"REQUEST_ATTRIBUTE\",\n requestAttribute: \"foo\",\n },\n metricKey: \"calc:service.#name#\",\n unit: \"MILLI_SECOND_PER_MINUTE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_management_zone_v2(name=\"Example\")\n_name_ = dynatrace.CalculatedServiceMetric(\"#name#\",\n conditions=[{\n \"conditions\": [{\n \"attribute\": \"HTTP_REQUEST_METHOD\",\n \"comparison\": {\n \"http_method\": {\n \"operator\": \"EQUALS_ANY_OF\",\n \"values\": [\n \"POST\",\n \"GET\",\n ],\n },\n \"negate\": False,\n },\n }],\n }],\n enabled=True,\n management_zones=[test.legacy_id],\n metric_definition={\n \"metric\": \"REQUEST_ATTRIBUTE\",\n \"request_attribute\": \"foo\",\n },\n metric_key=\"calc:service.#name#\",\n unit=\"MILLI_SECOND_PER_MINUTE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetManagementZoneV2.Invoke(new()\n {\n Name = \"Example\",\n });\n\n var _name_ = new Dynatrace.CalculatedServiceMetric(\"#name#\", new()\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs\n {\n Attribute = \"HTTP_REQUEST_METHOD\",\n Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs\n {\n HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs\n {\n Operator = \"EQUALS_ANY_OF\",\n Values = new[]\n {\n \"POST\",\n \"GET\",\n },\n },\n Negate = false,\n },\n },\n },\n },\n },\n Enabled = true,\n ManagementZones = new[]\n {\n test.Apply(getManagementZoneV2Result =\u003e getManagementZoneV2Result.LegacyId),\n },\n MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs\n {\n Metric = \"REQUEST_ATTRIBUTE\",\n RequestAttribute = \"foo\",\n },\n MetricKey = \"calc:service.#name#\",\n Unit = \"MILLI_SECOND_PER_MINUTE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.LookupManagementZoneV2(ctx, \u0026dynatrace.LookupManagementZoneV2Args{\n\t\t\tName: \"Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewCalculatedServiceMetric(ctx, \"#name#\", \u0026dynatrace.CalculatedServiceMetricArgs{\n\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionArray{\n\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionArgs{\n\t\t\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionConditionArray{\n\t\t\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionConditionArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"HTTP_REQUEST_METHOD\"),\n\t\t\t\t\t\t\tComparison: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonArgs{\n\t\t\t\t\t\t\t\tHttpMethod: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS_ANY_OF\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tManagementZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.LegacyId),\n\t\t\t},\n\t\t\tMetricDefinition: \u0026dynatrace.CalculatedServiceMetricMetricDefinitionArgs{\n\t\t\t\tMetric: pulumi.String(\"REQUEST_ATTRIBUTE\"),\n\t\t\t\tRequestAttribute: pulumi.String(\"foo\"),\n\t\t\t},\n\t\t\tMetricKey: pulumi.String(\"calc:service.#name#\"),\n\t\t\tUnit: pulumi.String(\"MILLI_SECOND_PER_MINUTE\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetManagementZoneV2Args;\nimport com.pulumi.dynatrace.CalculatedServiceMetric;\nimport com.pulumi.dynatrace.CalculatedServiceMetricArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricConditionArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricMetricDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getManagementZoneV2(GetManagementZoneV2Args.builder()\n .name(\"Example\")\n .build());\n\n var _name_ = new CalculatedServiceMetric(\"#name#\", CalculatedServiceMetricArgs.builder()\n .conditions(CalculatedServiceMetricConditionArgs.builder()\n .conditions(CalculatedServiceMetricConditionConditionArgs.builder()\n .attribute(\"HTTP_REQUEST_METHOD\")\n .comparison(CalculatedServiceMetricConditionConditionComparisonArgs.builder()\n .httpMethod(CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs.builder()\n .operator(\"EQUALS_ANY_OF\")\n .values( \n \"POST\",\n \"GET\")\n .build())\n .negate(false)\n .build())\n .build())\n .build())\n .enabled(true)\n .managementZones(test.applyValue(getManagementZoneV2Result -\u003e getManagementZoneV2Result.legacyId()))\n .metricDefinition(CalculatedServiceMetricMetricDefinitionArgs.builder()\n .metric(\"REQUEST_ATTRIBUTE\")\n .requestAttribute(\"foo\")\n .build())\n .metricKey(\"calc:service.#name#\")\n .unit(\"MILLI_SECOND_PER_MINUTE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:CalculatedServiceMetric\n properties:\n conditions:\n - conditions:\n - attribute: HTTP_REQUEST_METHOD\n comparison:\n httpMethod:\n operator: EQUALS_ANY_OF\n values:\n - POST\n - GET\n negate: false\n enabled: true\n managementZones:\n - ${test.legacyId}\n metricDefinition:\n metric: REQUEST_ATTRIBUTE\n requestAttribute: foo\n metricKey: calc:service.#name#\n unit: MILLI_SECOND_PER_MINUTE\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getManagementZoneV2\n Arguments:\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The management zone data source allows the management zone ID to be retrieved by its name.\n\n\u003e This data source requires the API token scopes **Read settings** (`settings.read`)\n\n- `name` queries for all management zones with the specified name\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getManagementZoneV2({\n name: \"Example\",\n});\nconst _name_ = new dynatrace.CalculatedServiceMetric(\"#name#\", {\n conditions: [{\n conditions: [{\n attribute: \"HTTP_REQUEST_METHOD\",\n comparison: {\n httpMethod: {\n operator: \"EQUALS_ANY_OF\",\n values: [\n \"POST\",\n \"GET\",\n ],\n },\n negate: false,\n },\n }],\n }],\n enabled: true,\n managementZones: [test.then(test =\u003e test.legacyId)],\n metricDefinition: {\n metric: \"REQUEST_ATTRIBUTE\",\n requestAttribute: \"foo\",\n },\n metricKey: \"calc:service.#name#\",\n unit: \"MILLI_SECOND_PER_MINUTE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_management_zone_v2(name=\"Example\")\n_name_ = dynatrace.CalculatedServiceMetric(\"#name#\",\n conditions=[{\n \"conditions\": [{\n \"attribute\": \"HTTP_REQUEST_METHOD\",\n \"comparison\": {\n \"http_method\": {\n \"operator\": \"EQUALS_ANY_OF\",\n \"values\": [\n \"POST\",\n \"GET\",\n ],\n },\n \"negate\": False,\n },\n }],\n }],\n enabled=True,\n management_zones=[test.legacy_id],\n metric_definition={\n \"metric\": \"REQUEST_ATTRIBUTE\",\n \"request_attribute\": \"foo\",\n },\n metric_key=\"calc:service.#name#\",\n unit=\"MILLI_SECOND_PER_MINUTE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetManagementZoneV2.Invoke(new()\n {\n Name = \"Example\",\n });\n\n var _name_ = new Dynatrace.CalculatedServiceMetric(\"#name#\", new()\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs\n {\n Attribute = \"HTTP_REQUEST_METHOD\",\n Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs\n {\n HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs\n {\n Operator = \"EQUALS_ANY_OF\",\n Values = new[]\n {\n \"POST\",\n \"GET\",\n },\n },\n Negate = false,\n },\n },\n },\n },\n },\n Enabled = true,\n ManagementZones = new[]\n {\n test.Apply(getManagementZoneV2Result =\u003e getManagementZoneV2Result.LegacyId),\n },\n MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs\n {\n Metric = \"REQUEST_ATTRIBUTE\",\n RequestAttribute = \"foo\",\n },\n MetricKey = \"calc:service.#name#\",\n Unit = \"MILLI_SECOND_PER_MINUTE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.LookupManagementZoneV2(ctx, \u0026dynatrace.LookupManagementZoneV2Args{\n\t\t\tName: \"Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewCalculatedServiceMetric(ctx, \"#name#\", \u0026dynatrace.CalculatedServiceMetricArgs{\n\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionArray{\n\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionArgs{\n\t\t\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionConditionArray{\n\t\t\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionConditionArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"HTTP_REQUEST_METHOD\"),\n\t\t\t\t\t\t\tComparison: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonArgs{\n\t\t\t\t\t\t\t\tHttpMethod: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS_ANY_OF\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tManagementZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.LegacyId),\n\t\t\t},\n\t\t\tMetricDefinition: \u0026dynatrace.CalculatedServiceMetricMetricDefinitionArgs{\n\t\t\t\tMetric: pulumi.String(\"REQUEST_ATTRIBUTE\"),\n\t\t\t\tRequestAttribute: pulumi.String(\"foo\"),\n\t\t\t},\n\t\t\tMetricKey: pulumi.String(\"calc:service.#name#\"),\n\t\t\tUnit: pulumi.String(\"MILLI_SECOND_PER_MINUTE\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetManagementZoneV2Args;\nimport com.pulumi.dynatrace.CalculatedServiceMetric;\nimport com.pulumi.dynatrace.CalculatedServiceMetricArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricConditionArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricMetricDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getManagementZoneV2(GetManagementZoneV2Args.builder()\n .name(\"Example\")\n .build());\n\n var _name_ = new CalculatedServiceMetric(\"#name#\", CalculatedServiceMetricArgs.builder()\n .conditions(CalculatedServiceMetricConditionArgs.builder()\n .conditions(CalculatedServiceMetricConditionConditionArgs.builder()\n .attribute(\"HTTP_REQUEST_METHOD\")\n .comparison(CalculatedServiceMetricConditionConditionComparisonArgs.builder()\n .httpMethod(CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs.builder()\n .operator(\"EQUALS_ANY_OF\")\n .values( \n \"POST\",\n \"GET\")\n .build())\n .negate(false)\n .build())\n .build())\n .build())\n .enabled(true)\n .managementZones(test.applyValue(getManagementZoneV2Result -\u003e getManagementZoneV2Result.legacyId()))\n .metricDefinition(CalculatedServiceMetricMetricDefinitionArgs.builder()\n .metric(\"REQUEST_ATTRIBUTE\")\n .requestAttribute(\"foo\")\n .build())\n .metricKey(\"calc:service.#name#\")\n .unit(\"MILLI_SECOND_PER_MINUTE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:CalculatedServiceMetric\n properties:\n conditions:\n - conditions:\n - attribute: HTTP_REQUEST_METHOD\n comparison:\n httpMethod:\n operator: EQUALS_ANY_OF\n values:\n - POST\n - GET\n negate: false\n enabled: true\n managementZones:\n - ${test.legacyId}\n metricDefinition:\n metric: REQUEST_ATTRIBUTE\n requestAttribute: foo\n metricKey: calc:service.#name#\n unit: MILLI_SECOND_PER_MINUTE\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getManagementZoneV2\n arguments:\n name: Example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getManagementZoneV2.\n", "properties": { @@ -76036,7 +76963,7 @@ } }, "dynatrace:index/getManagementZones:getManagementZones": { - "description": "The management zones data source allows retrieval of all management zones.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getManagementZones({});\nconst _name_ = new dynatrace.CalculatedServiceMetric(\"#name#\", {\n enabled: true,\n managementZones: [test.then(test =\u003e test.values?.[0]?.id)],\n metricKey: \"calc:service.#name#\",\n unit: \"MILLI_SECOND_PER_MINUTE\",\n conditions: [{\n conditions: [{\n attribute: \"HTTP_REQUEST_METHOD\",\n comparison: {\n negate: false,\n httpMethod: {\n operator: \"EQUALS_ANY_OF\",\n values: [\n \"POST\",\n \"GET\",\n ],\n },\n },\n }],\n }],\n metricDefinition: {\n metric: \"REQUEST_ATTRIBUTE\",\n requestAttribute: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_management_zones()\n_name_ = dynatrace.CalculatedServiceMetric(\"#name#\",\n enabled=True,\n management_zones=[test.values[0].id],\n metric_key=\"calc:service.#name#\",\n unit=\"MILLI_SECOND_PER_MINUTE\",\n conditions=[{\n \"conditions\": [{\n \"attribute\": \"HTTP_REQUEST_METHOD\",\n \"comparison\": {\n \"negate\": False,\n \"http_method\": {\n \"operator\": \"EQUALS_ANY_OF\",\n \"values\": [\n \"POST\",\n \"GET\",\n ],\n },\n },\n }],\n }],\n metric_definition={\n \"metric\": \"REQUEST_ATTRIBUTE\",\n \"request_attribute\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetManagementZones.Invoke();\n\n var _name_ = new Dynatrace.CalculatedServiceMetric(\"#name#\", new()\n {\n Enabled = true,\n ManagementZones = new[]\n {\n test.Apply(getManagementZonesResult =\u003e getManagementZonesResult.Values[0]?.Id),\n },\n MetricKey = \"calc:service.#name#\",\n Unit = \"MILLI_SECOND_PER_MINUTE\",\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs\n {\n Attribute = \"HTTP_REQUEST_METHOD\",\n Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs\n {\n Negate = false,\n HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs\n {\n Operator = \"EQUALS_ANY_OF\",\n Values = new[]\n {\n \"POST\",\n \"GET\",\n },\n },\n },\n },\n },\n },\n },\n MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs\n {\n Metric = \"REQUEST_ATTRIBUTE\",\n RequestAttribute = \"foo\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetManagementZones(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewCalculatedServiceMetric(ctx, \"#name#\", \u0026dynatrace.CalculatedServiceMetricArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tManagementZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.Values[0].Id),\n\t\t\t},\n\t\t\tMetricKey: pulumi.String(\"calc:service.#name#\"),\n\t\t\tUnit: pulumi.String(\"MILLI_SECOND_PER_MINUTE\"),\n\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionArray{\n\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionArgs{\n\t\t\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionConditionArray{\n\t\t\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionConditionArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"HTTP_REQUEST_METHOD\"),\n\t\t\t\t\t\t\tComparison: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonArgs{\n\t\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tHttpMethod: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS_ANY_OF\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricDefinition: \u0026dynatrace.CalculatedServiceMetricMetricDefinitionArgs{\n\t\t\t\tMetric: pulumi.String(\"REQUEST_ATTRIBUTE\"),\n\t\t\t\tRequestAttribute: pulumi.String(\"foo\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.CalculatedServiceMetric;\nimport com.pulumi.dynatrace.CalculatedServiceMetricArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricConditionArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricMetricDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getManagementZones();\n\n var _name_ = new CalculatedServiceMetric(\"#name#\", CalculatedServiceMetricArgs.builder()\n .enabled(true)\n .managementZones(test.applyValue(getManagementZonesResult -\u003e getManagementZonesResult.values()[0].id()))\n .metricKey(\"calc:service.#name#\")\n .unit(\"MILLI_SECOND_PER_MINUTE\")\n .conditions(CalculatedServiceMetricConditionArgs.builder()\n .conditions(CalculatedServiceMetricConditionConditionArgs.builder()\n .attribute(\"HTTP_REQUEST_METHOD\")\n .comparison(CalculatedServiceMetricConditionConditionComparisonArgs.builder()\n .negate(false)\n .httpMethod(CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs.builder()\n .operator(\"EQUALS_ANY_OF\")\n .values( \n \"POST\",\n \"GET\")\n .build())\n .build())\n .build())\n .build())\n .metricDefinition(CalculatedServiceMetricMetricDefinitionArgs.builder()\n .metric(\"REQUEST_ATTRIBUTE\")\n .requestAttribute(\"foo\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:CalculatedServiceMetric\n properties:\n enabled: true\n managementZones:\n - ${test.values[0].id}\n metricKey: calc:service.#name#\n unit: MILLI_SECOND_PER_MINUTE\n conditions:\n - conditions:\n - attribute: HTTP_REQUEST_METHOD\n comparison:\n negate: false\n httpMethod:\n operator: EQUALS_ANY_OF\n values:\n - POST\n - GET\n metricDefinition:\n metric: REQUEST_ATTRIBUTE\n requestAttribute: foo\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getManagementZones\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The management zones data source allows retrieval of all management zones.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getManagementZones({});\nconst _name_ = new dynatrace.CalculatedServiceMetric(\"#name#\", {\n enabled: true,\n managementZones: [test.then(test =\u003e test.values?.[0]?.id)],\n metricKey: \"calc:service.#name#\",\n unit: \"MILLI_SECOND_PER_MINUTE\",\n conditions: [{\n conditions: [{\n attribute: \"HTTP_REQUEST_METHOD\",\n comparison: {\n negate: false,\n httpMethod: {\n operator: \"EQUALS_ANY_OF\",\n values: [\n \"POST\",\n \"GET\",\n ],\n },\n },\n }],\n }],\n metricDefinition: {\n metric: \"REQUEST_ATTRIBUTE\",\n requestAttribute: \"foo\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_management_zones()\n_name_ = dynatrace.CalculatedServiceMetric(\"#name#\",\n enabled=True,\n management_zones=[test.values[0].id],\n metric_key=\"calc:service.#name#\",\n unit=\"MILLI_SECOND_PER_MINUTE\",\n conditions=[{\n \"conditions\": [{\n \"attribute\": \"HTTP_REQUEST_METHOD\",\n \"comparison\": {\n \"negate\": False,\n \"http_method\": {\n \"operator\": \"EQUALS_ANY_OF\",\n \"values\": [\n \"POST\",\n \"GET\",\n ],\n },\n },\n }],\n }],\n metric_definition={\n \"metric\": \"REQUEST_ATTRIBUTE\",\n \"request_attribute\": \"foo\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetManagementZones.Invoke();\n\n var _name_ = new Dynatrace.CalculatedServiceMetric(\"#name#\", new()\n {\n Enabled = true,\n ManagementZones = new[]\n {\n test.Apply(getManagementZonesResult =\u003e getManagementZonesResult.Values[0]?.Id),\n },\n MetricKey = \"calc:service.#name#\",\n Unit = \"MILLI_SECOND_PER_MINUTE\",\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs\n {\n Conditions = new[]\n {\n new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs\n {\n Attribute = \"HTTP_REQUEST_METHOD\",\n Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs\n {\n Negate = false,\n HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs\n {\n Operator = \"EQUALS_ANY_OF\",\n Values = new[]\n {\n \"POST\",\n \"GET\",\n },\n },\n },\n },\n },\n },\n },\n MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs\n {\n Metric = \"REQUEST_ATTRIBUTE\",\n RequestAttribute = \"foo\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetManagementZones(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewCalculatedServiceMetric(ctx, \"#name#\", \u0026dynatrace.CalculatedServiceMetricArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tManagementZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.Values[0].Id),\n\t\t\t},\n\t\t\tMetricKey: pulumi.String(\"calc:service.#name#\"),\n\t\t\tUnit: pulumi.String(\"MILLI_SECOND_PER_MINUTE\"),\n\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionArray{\n\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionArgs{\n\t\t\t\t\tConditions: dynatrace.CalculatedServiceMetricConditionConditionArray{\n\t\t\t\t\t\t\u0026dynatrace.CalculatedServiceMetricConditionConditionArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"HTTP_REQUEST_METHOD\"),\n\t\t\t\t\t\t\tComparison: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonArgs{\n\t\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tHttpMethod: \u0026dynatrace.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"EQUALS_ANY_OF\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricDefinition: \u0026dynatrace.CalculatedServiceMetricMetricDefinitionArgs{\n\t\t\t\tMetric: pulumi.String(\"REQUEST_ATTRIBUTE\"),\n\t\t\t\tRequestAttribute: pulumi.String(\"foo\"),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.CalculatedServiceMetric;\nimport com.pulumi.dynatrace.CalculatedServiceMetricArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricConditionArgs;\nimport com.pulumi.dynatrace.inputs.CalculatedServiceMetricMetricDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getManagementZones();\n\n var _name_ = new CalculatedServiceMetric(\"#name#\", CalculatedServiceMetricArgs.builder()\n .enabled(true)\n .managementZones(test.applyValue(getManagementZonesResult -\u003e getManagementZonesResult.values()[0].id()))\n .metricKey(\"calc:service.#name#\")\n .unit(\"MILLI_SECOND_PER_MINUTE\")\n .conditions(CalculatedServiceMetricConditionArgs.builder()\n .conditions(CalculatedServiceMetricConditionConditionArgs.builder()\n .attribute(\"HTTP_REQUEST_METHOD\")\n .comparison(CalculatedServiceMetricConditionConditionComparisonArgs.builder()\n .negate(false)\n .httpMethod(CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs.builder()\n .operator(\"EQUALS_ANY_OF\")\n .values( \n \"POST\",\n \"GET\")\n .build())\n .build())\n .build())\n .build())\n .metricDefinition(CalculatedServiceMetricMetricDefinitionArgs.builder()\n .metric(\"REQUEST_ATTRIBUTE\")\n .requestAttribute(\"foo\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:CalculatedServiceMetric\n properties:\n enabled: true\n managementZones:\n - ${test.values[0].id}\n metricKey: calc:service.#name#\n unit: MILLI_SECOND_PER_MINUTE\n conditions:\n - conditions:\n - attribute: HTTP_REQUEST_METHOD\n comparison:\n negate: false\n httpMethod:\n operator: EQUALS_ANY_OF\n values:\n - POST\n - GET\n metricDefinition:\n metric: REQUEST_ATTRIBUTE\n requestAttribute: foo\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getManagementZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getManagementZones.\n", "properties": { @@ -76059,7 +76986,7 @@ } }, "dynatrace:index/getMobileApplication:getMobileApplication": { - "description": "The `dynatrace.MobileApplication` data source allows the mobile application ID to be retrieved by its name.\n\n- `name` (String) - The name of the mobile application\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getMobileApplication({\n name: \"Terraform\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_mobile_application(name=\"Terraform\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetMobileApplication.Invoke(new()\n {\n Name = \"Terraform\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getMobileApplicationResult =\u003e getMobileApplicationResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupMobileApplication(ctx, \u0026dynatrace.LookupMobileApplicationArgs{\n\t\t\tName: \"Terraform\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetMobileApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getMobileApplication(GetMobileApplicationArgs.builder()\n .name(\"Terraform\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getMobileApplicationResult -\u003e getMobileApplicationResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getMobileApplication\n Arguments:\n name: Terraform\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.MobileApplication` data source allows the mobile application ID to be retrieved by its name.\n\n- `name` (String) - The name of the mobile application\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getMobileApplication({\n name: \"Terraform\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_mobile_application(name=\"Terraform\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetMobileApplication.Invoke(new()\n {\n Name = \"Terraform\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getMobileApplicationResult =\u003e getMobileApplicationResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupMobileApplication(ctx, \u0026dynatrace.LookupMobileApplicationArgs{\n\t\t\tName: \"Terraform\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetMobileApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getMobileApplication(GetMobileApplicationArgs.builder()\n .name(\"Terraform\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getMobileApplicationResult -\u003e getMobileApplicationResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getMobileApplication\n arguments:\n name: Terraform\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMobileApplication.\n", "properties": { @@ -76091,7 +77018,7 @@ } }, "dynatrace:index/getProcess:getProcess": { - "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `PROCESS_GROUP_INSTANCE` instead.\n\nThe process data source allows the process ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all processes with the specified name\n- `tags` (optional) refers to the tags that need to be present for the process (inclusive)\n\nIf multiple processes match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getProcess({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.ManagementZone(\"#name#\", {entitySelectorBasedRules: [{\n enabled: true,\n selector: test.then(test =\u003e `type(\"process_group_instance\"),entityId(\"${test.id}\")`),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_process(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.ManagementZone(\"#name#\", entity_selector_based_rules=[{\n \"enabled\": True,\n \"selector\": f\"type(\\\"process_group_instance\\\"),entityId(\\\"{test.id}\\\")\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetProcess.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.ManagementZone(\"#name#\", new()\n {\n EntitySelectorBasedRules = new[]\n {\n new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs\n {\n Enabled = true,\n Selector = $\"type(\\\"process_group_instance\\\"),entityId(\\\"{test.Apply(getProcessResult =\u003e getProcessResult.Id)}\\\")\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetProcess(ctx, \u0026dynatrace.GetProcessArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewManagementZone(ctx, \"#name#\", \u0026dynatrace.ManagementZoneArgs{\n\t\t\tEntitySelectorBasedRules: dynatrace.ManagementZoneEntitySelectorBasedRuleArray{\n\t\t\t\t\u0026dynatrace.ManagementZoneEntitySelectorBasedRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tSelector: pulumi.Sprintf(\"type(\\\"process_group_instance\\\"),entityId(\\\"%v\\\")\", test.Id),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetProcessArgs;\nimport com.pulumi.dynatrace.ManagementZone;\nimport com.pulumi.dynatrace.ManagementZoneArgs;\nimport com.pulumi.dynatrace.inputs.ManagementZoneEntitySelectorBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getProcess(GetProcessArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new ManagementZone(\"#name#\", ManagementZoneArgs.builder()\n .entitySelectorBasedRules(ManagementZoneEntitySelectorBasedRuleArgs.builder()\n .enabled(true)\n .selector(String.format(\"type(\\\"process_group_instance\\\"),entityId(\\\"%s\\\")\", test.applyValue(getProcessResult -\u003e getProcessResult.id())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ManagementZone\n properties:\n entitySelectorBasedRules:\n - enabled: true\n selector: type(\"process_group_instance\"),entityId(\"${test.id}\")\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getProcess\n Arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `PROCESS_GROUP_INSTANCE` instead.\n\nThe process data source allows the process ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all processes with the specified name\n- `tags` (optional) refers to the tags that need to be present for the process (inclusive)\n\nIf multiple processes match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getProcess({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.ManagementZone(\"#name#\", {entitySelectorBasedRules: [{\n enabled: true,\n selector: test.then(test =\u003e `type(\"process_group_instance\"),entityId(\"${test.id}\")`),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_process(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.ManagementZone(\"#name#\", entity_selector_based_rules=[{\n \"enabled\": True,\n \"selector\": f\"type(\\\"process_group_instance\\\"),entityId(\\\"{test.id}\\\")\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetProcess.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.ManagementZone(\"#name#\", new()\n {\n EntitySelectorBasedRules = new[]\n {\n new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs\n {\n Enabled = true,\n Selector = $\"type(\\\"process_group_instance\\\"),entityId(\\\"{test.Apply(getProcessResult =\u003e getProcessResult.Id)}\\\")\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetProcess(ctx, \u0026dynatrace.GetProcessArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewManagementZone(ctx, \"#name#\", \u0026dynatrace.ManagementZoneArgs{\n\t\t\tEntitySelectorBasedRules: dynatrace.ManagementZoneEntitySelectorBasedRuleArray{\n\t\t\t\t\u0026dynatrace.ManagementZoneEntitySelectorBasedRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tSelector: pulumi.Sprintf(\"type(\\\"process_group_instance\\\"),entityId(\\\"%v\\\")\", test.Id),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetProcessArgs;\nimport com.pulumi.dynatrace.ManagementZone;\nimport com.pulumi.dynatrace.ManagementZoneArgs;\nimport com.pulumi.dynatrace.inputs.ManagementZoneEntitySelectorBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getProcess(GetProcessArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new ManagementZone(\"#name#\", ManagementZoneArgs.builder()\n .entitySelectorBasedRules(ManagementZoneEntitySelectorBasedRuleArgs.builder()\n .enabled(true)\n .selector(String.format(\"type(\\\"process_group_instance\\\"),entityId(\\\"%s\\\")\", test.applyValue(getProcessResult -\u003e getProcessResult.id())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ManagementZone\n properties:\n entitySelectorBasedRules:\n - enabled: true\n selector: type(\"process_group_instance\"),entityId(\"${test.id}\")\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getProcess\n arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProcess.\n", "properties": { @@ -76137,7 +77064,7 @@ } }, "dynatrace:index/getProcessGroup:getProcessGroup": { - "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `PROCESS_GROUP` instead.\n\nThe process group data source allows the process group ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all process groups with the specified name\n- `tags` (optional) refers to the tags that need to be present for the process group (inclusive)\n\nIf multiple process groups match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getProcessGroup({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.ManagementZone(\"#name#\", {entitySelectorBasedRules: [{\n enabled: true,\n selector: test.then(test =\u003e `type(\"process_group\"),entityId(\"${test.id}\")`),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_process_group(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.ManagementZone(\"#name#\", entity_selector_based_rules=[{\n \"enabled\": True,\n \"selector\": f\"type(\\\"process_group\\\"),entityId(\\\"{test.id}\\\")\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetProcessGroup.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.ManagementZone(\"#name#\", new()\n {\n EntitySelectorBasedRules = new[]\n {\n new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs\n {\n Enabled = true,\n Selector = $\"type(\\\"process_group\\\"),entityId(\\\"{test.Apply(getProcessGroupResult =\u003e getProcessGroupResult.Id)}\\\")\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetProcessGroup(ctx, \u0026dynatrace.GetProcessGroupArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewManagementZone(ctx, \"#name#\", \u0026dynatrace.ManagementZoneArgs{\n\t\t\tEntitySelectorBasedRules: dynatrace.ManagementZoneEntitySelectorBasedRuleArray{\n\t\t\t\t\u0026dynatrace.ManagementZoneEntitySelectorBasedRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tSelector: pulumi.Sprintf(\"type(\\\"process_group\\\"),entityId(\\\"%v\\\")\", test.Id),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetProcessGroupArgs;\nimport com.pulumi.dynatrace.ManagementZone;\nimport com.pulumi.dynatrace.ManagementZoneArgs;\nimport com.pulumi.dynatrace.inputs.ManagementZoneEntitySelectorBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getProcessGroup(GetProcessGroupArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new ManagementZone(\"#name#\", ManagementZoneArgs.builder()\n .entitySelectorBasedRules(ManagementZoneEntitySelectorBasedRuleArgs.builder()\n .enabled(true)\n .selector(String.format(\"type(\\\"process_group\\\"),entityId(\\\"%s\\\")\", test.applyValue(getProcessGroupResult -\u003e getProcessGroupResult.id())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ManagementZone\n properties:\n entitySelectorBasedRules:\n - enabled: true\n selector: type(\"process_group\"),entityId(\"${test.id}\")\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getProcessGroup\n Arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `PROCESS_GROUP` instead.\n\nThe process group data source allows the process group ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all process groups with the specified name\n- `tags` (optional) refers to the tags that need to be present for the process group (inclusive)\n\nIf multiple process groups match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getProcessGroup({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.ManagementZone(\"#name#\", {entitySelectorBasedRules: [{\n enabled: true,\n selector: test.then(test =\u003e `type(\"process_group\"),entityId(\"${test.id}\")`),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_process_group(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.ManagementZone(\"#name#\", entity_selector_based_rules=[{\n \"enabled\": True,\n \"selector\": f\"type(\\\"process_group\\\"),entityId(\\\"{test.id}\\\")\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetProcessGroup.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.ManagementZone(\"#name#\", new()\n {\n EntitySelectorBasedRules = new[]\n {\n new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs\n {\n Enabled = true,\n Selector = $\"type(\\\"process_group\\\"),entityId(\\\"{test.Apply(getProcessGroupResult =\u003e getProcessGroupResult.Id)}\\\")\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetProcessGroup(ctx, \u0026dynatrace.GetProcessGroupArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewManagementZone(ctx, \"#name#\", \u0026dynatrace.ManagementZoneArgs{\n\t\t\tEntitySelectorBasedRules: dynatrace.ManagementZoneEntitySelectorBasedRuleArray{\n\t\t\t\t\u0026dynatrace.ManagementZoneEntitySelectorBasedRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tSelector: pulumi.Sprintf(\"type(\\\"process_group\\\"),entityId(\\\"%v\\\")\", test.Id),\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetProcessGroupArgs;\nimport com.pulumi.dynatrace.ManagementZone;\nimport com.pulumi.dynatrace.ManagementZoneArgs;\nimport com.pulumi.dynatrace.inputs.ManagementZoneEntitySelectorBasedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getProcessGroup(GetProcessGroupArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new ManagementZone(\"#name#\", ManagementZoneArgs.builder()\n .entitySelectorBasedRules(ManagementZoneEntitySelectorBasedRuleArgs.builder()\n .enabled(true)\n .selector(String.format(\"type(\\\"process_group\\\"),entityId(\\\"%s\\\")\", test.applyValue(getProcessGroupResult -\u003e getProcessGroupResult.id())))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:ManagementZone\n properties:\n entitySelectorBasedRules:\n - enabled: true\n selector: type(\"process_group\"),entityId(\"${test.id}\")\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getProcessGroup\n arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProcessGroup.\n", "properties": { @@ -76183,7 +77110,7 @@ } }, "dynatrace:index/getRemoteEnvironments:getRemoteEnvironments": { - "description": "The remote environments data source allows retrieval of all remote environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getRemoteEnvironments({});\nexport const remoteEnvironments = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_remote_environments()\npulumi.export(\"remoteEnvironments\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetRemoteEnvironments.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"remoteEnvironments\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupRemoteEnvironments(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"remoteEnvironments\", example)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getRemoteEnvironments();\n\n ctx.export(\"remoteEnvironments\", example.applyValue(getRemoteEnvironmentsResult -\u003e getRemoteEnvironmentsResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getRemoteEnvironments\n Arguments: {}\noutputs:\n remoteEnvironments: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The remote environments data source allows retrieval of all remote environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getRemoteEnvironments({});\nexport const remoteEnvironments = example;\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_remote_environments()\npulumi.export(\"remoteEnvironments\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetRemoteEnvironments.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"remoteEnvironments\"] = example,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupRemoteEnvironments(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"remoteEnvironments\", example)\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.dynatrace.DynatraceFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getRemoteEnvironments();\n\n ctx.export(\"remoteEnvironments\", example.applyValue(getRemoteEnvironmentsResult -\u003e getRemoteEnvironmentsResult));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getRemoteEnvironments\n arguments: {}\noutputs:\n remoteEnvironments: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getRemoteEnvironments.\n", "properties": { @@ -76206,7 +77133,7 @@ } }, "dynatrace:index/getRequestAttribute:getRequestAttribute": { - "description": "The `dynatrace.RequestAttribute` data source allows the request attribute ID to be retrieved by its name.\n\n- `name` (String) - The name of the request attribute\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getRequestAttribute({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_request_attribute(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetRequestAttribute.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getRequestAttributeResult =\u003e getRequestAttributeResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupRequestAttribute(ctx, \u0026dynatrace.LookupRequestAttributeArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetRequestAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getRequestAttribute(GetRequestAttributeArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getRequestAttributeResult -\u003e getRequestAttributeResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getRequestAttribute\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.RequestAttribute` data source allows the request attribute ID to be retrieved by its name.\n\n- `name` (String) - The name of the request attribute\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getRequestAttribute({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_request_attribute(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetRequestAttribute.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getRequestAttributeResult =\u003e getRequestAttributeResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupRequestAttribute(ctx, \u0026dynatrace.LookupRequestAttributeArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetRequestAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getRequestAttribute(GetRequestAttributeArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getRequestAttributeResult -\u003e getRequestAttributeResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getRequestAttribute\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRequestAttribute.\n", "properties": { @@ -76238,7 +77165,7 @@ } }, "dynatrace:index/getRequestNaming:getRequestNaming": { - "description": "The `dynatrace.RequestNaming` data source allows the request naming rule ID to be retrieved by its name.\n\n- `name` (String) - The name to be assigned to matching requests.\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getRequestNaming({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_request_naming(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetRequestNaming.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getRequestNamingResult =\u003e getRequestNamingResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupRequestNaming(ctx, \u0026dynatrace.LookupRequestNamingArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetRequestNamingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getRequestNaming(GetRequestNamingArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getRequestNamingResult -\u003e getRequestNamingResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getRequestNaming\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.RequestNaming` data source allows the request naming rule ID to be retrieved by its name.\n\n- `name` (String) - The name to be assigned to matching requests.\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getRequestNaming({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_request_naming(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetRequestNaming.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getRequestNamingResult =\u003e getRequestNamingResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupRequestNaming(ctx, \u0026dynatrace.LookupRequestNamingArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetRequestNamingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getRequestNaming(GetRequestNamingArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getRequestNamingResult -\u003e getRequestNamingResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getRequestNaming\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRequestNaming.\n", "properties": { @@ -76270,7 +77197,7 @@ } }, "dynatrace:index/getService:getService": { - "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `SERVICE` instead.\n\nThe service data source allows the service ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all services with the specified name\n- `tags` (optional) refers to the tags that need to be present for the service (inclusive)\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getService({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.KeyRequests(\"#name#\", {service: test.then(test =\u003e test.id)});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_service(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.KeyRequests(\"#name#\", service=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetService.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.KeyRequests(\"#name#\", new()\n {\n Service = test.Apply(getServiceResult =\u003e getServiceResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetService(ctx, \u0026dynatrace.GetServiceArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewKeyRequests(ctx, \"#name#\", \u0026dynatrace.KeyRequestsArgs{\n\t\t\tService: pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetServiceArgs;\nimport com.pulumi.dynatrace.KeyRequests;\nimport com.pulumi.dynatrace.KeyRequestsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getService(GetServiceArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new KeyRequests(\"#name#\", KeyRequestsArgs.builder()\n .service(test.applyValue(getServiceResult -\u003e getServiceResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:KeyRequests\n properties:\n service: ${test.id}\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getService\n Arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "!\u003e The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `SERVICE` instead.\n\nThe service data source allows the service ID to be retrieved by its name and optionally tags / tag-value pairs.\n\n- `name` queries for all services with the specified name\n- `tags` (optional) refers to the tags that need to be present for the service (inclusive)\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getService({\n name: \"Example\",\n tags: [\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ],\n});\nconst _name_ = new dynatrace.KeyRequests(\"#name#\", {service: test.then(test =\u003e test.id)});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_service(name=\"Example\",\n tags=[\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n ])\n_name_ = dynatrace.KeyRequests(\"#name#\", service=test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetService.Invoke(new()\n {\n Name = \"Example\",\n Tags = new[]\n {\n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\",\n },\n });\n\n var _name_ = new Dynatrace.KeyRequests(\"#name#\", new()\n {\n Service = test.Apply(getServiceResult =\u003e getServiceResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetService(ctx, \u0026dynatrace.GetServiceArgs{\n\t\t\tName: \"Example\",\n\t\t\tTags: []string{\n\t\t\t\t\"TerraformKeyTest\",\n\t\t\t\t\"TerraformKeyValueTest=TestValue\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewKeyRequests(ctx, \"#name#\", \u0026dynatrace.KeyRequestsArgs{\n\t\t\tService: pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetServiceArgs;\nimport com.pulumi.dynatrace.KeyRequests;\nimport com.pulumi.dynatrace.KeyRequestsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getService(GetServiceArgs.builder()\n .name(\"Example\")\n .tags( \n \"TerraformKeyTest\",\n \"TerraformKeyValueTest=TestValue\")\n .build());\n\n var _name_ = new KeyRequests(\"#name#\", KeyRequestsArgs.builder()\n .service(test.applyValue(getServiceResult -\u003e getServiceResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:KeyRequests\n properties:\n service: ${test.id}\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getService\n arguments:\n name: Example\n tags:\n - TerraformKeyTest\n - TerraformKeyValueTest=TestValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { @@ -76322,7 +77249,7 @@ } }, "dynatrace:index/getSlo:getSlo": { - "description": "The `dynatrace.Slo` data source allows the SLO ID to be retrieved by its name.\n\n- `name` (String) - The name of the SLO\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getSlo({\n name: \"Terraform\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_slo(name=\"Terraform\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetSlo.Invoke(new()\n {\n Name = \"Terraform\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getSloResult =\u003e getSloResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupSlo(ctx, \u0026dynatrace.LookupSloArgs{\n\t\t\tName: \"Terraform\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetSloArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getSlo(GetSloArgs.builder()\n .name(\"Terraform\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getSloResult -\u003e getSloResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getSlo\n Arguments:\n name: Terraform\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.Slo` data source allows the SLO ID to be retrieved by its name.\n\n- `name` (String) - The name of the SLO\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getSlo({\n name: \"Terraform\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_slo(name=\"Terraform\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetSlo.Invoke(new()\n {\n Name = \"Terraform\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getSloResult =\u003e getSloResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupSlo(ctx, \u0026dynatrace.LookupSloArgs{\n\t\t\tName: \"Terraform\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetSloArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getSlo(GetSloArgs.builder()\n .name(\"Terraform\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getSloResult -\u003e getSloResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getSlo\n arguments:\n name: Terraform\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSlo.\n", "properties": { @@ -76414,7 +77341,7 @@ } }, "dynatrace:index/getSyntheticLocation:getSyntheticLocation": { - "description": "The synthetic location data source allows the location ID to be retrieved based off of provided parameters.\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetSyntheticLocationArgs;\nimport com.pulumi.dynatrace.HttpMonitor;\nimport com.pulumi.dynatrace.HttpMonitorArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorAnomalyDetectionArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getSyntheticLocation(GetSyntheticLocationArgs.builder()\n .cloudPlatform(\"AMAZON_EC2\")\n .name(\"Sydney\")\n .type(\"PUBLIC\")\n .build());\n\n var _name_ = new HttpMonitor(\"#name#\", HttpMonitorArgs.builder()\n .anomalyDetections(HttpMonitorAnomalyDetectionArgs.builder()\n .loadingTimeThresholds(HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs.builder()\n .enabled(true)\n .build())\n .outageHandlings(HttpMonitorAnomalyDetectionOutageHandlingArgs.builder()\n .globalOutage(true)\n .localOutage(false)\n .retryOnError(false)\n .build())\n .build())\n .enabled(true)\n .frequency(60)\n .locations(test.applyValue(getSyntheticLocationResult -\u003e getSyntheticLocationResult.id()))\n .script(HttpMonitorScriptArgs.builder()\n .requests(HttpMonitorScriptRequestArgs.builder()\n .configuration(HttpMonitorScriptRequestConfigurationArgs.builder()\n .acceptAnyCertificate(true)\n .followRedirects(true)\n .build())\n .description(\"google.com\")\n .method(\"GET\")\n .url(\"https://www.google.com\")\n .validation(HttpMonitorScriptRequestValidationArgs.builder()\n .rule(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:HttpMonitor\n properties:\n anomalyDetections:\n - loadingTimeThresholds:\n - enabled: true\n outageHandlings:\n - globalOutage: true\n localOutage: false\n retryOnError: false\n enabled: true\n frequency: 60\n locations:\n - ${test.id}\n script:\n requests:\n - configuration:\n acceptAnyCertificate: true\n followRedirects: true\n description: google.com\n method: GET\n url: https://www.google.com\n validation:\n rule:\n - passIfFound: false\n type: httpStatusesList\n value: '\u003e=400'\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getSyntheticLocation\n Arguments:\n cloudPlatform: AMAZON_EC2\n name: Sydney\n type: PUBLIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The synthetic location data source allows the location ID to be retrieved based off of provided parameters.\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetSyntheticLocationArgs;\nimport com.pulumi.dynatrace.HttpMonitor;\nimport com.pulumi.dynatrace.HttpMonitorArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorAnomalyDetectionArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getSyntheticLocation(GetSyntheticLocationArgs.builder()\n .cloudPlatform(\"AMAZON_EC2\")\n .name(\"Sydney\")\n .type(\"PUBLIC\")\n .build());\n\n var _name_ = new HttpMonitor(\"#name#\", HttpMonitorArgs.builder()\n .anomalyDetections(HttpMonitorAnomalyDetectionArgs.builder()\n .loadingTimeThresholds(HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs.builder()\n .enabled(true)\n .build())\n .outageHandlings(HttpMonitorAnomalyDetectionOutageHandlingArgs.builder()\n .globalOutage(true)\n .localOutage(false)\n .retryOnError(false)\n .build())\n .build())\n .enabled(true)\n .frequency(60)\n .locations(test.applyValue(getSyntheticLocationResult -\u003e getSyntheticLocationResult.id()))\n .script(HttpMonitorScriptArgs.builder()\n .requests(HttpMonitorScriptRequestArgs.builder()\n .configuration(HttpMonitorScriptRequestConfigurationArgs.builder()\n .acceptAnyCertificate(true)\n .followRedirects(true)\n .build())\n .description(\"google.com\")\n .method(\"GET\")\n .url(\"https://www.google.com\")\n .validation(HttpMonitorScriptRequestValidationArgs.builder()\n .rule(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:HttpMonitor\n properties:\n anomalyDetections:\n - loadingTimeThresholds:\n - enabled: true\n outageHandlings:\n - globalOutage: true\n localOutage: false\n retryOnError: false\n enabled: true\n frequency: 60\n locations:\n - ${test.id}\n script:\n requests:\n - configuration:\n acceptAnyCertificate: true\n followRedirects: true\n description: google.com\n method: GET\n url: https://www.google.com\n validation:\n rule:\n - passIfFound: false\n type: httpStatusesList\n value: '\u003e=400'\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getSyntheticLocation\n arguments:\n cloudPlatform: AMAZON_EC2\n name: Sydney\n type: PUBLIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSyntheticLocation.\n", "properties": { @@ -76490,7 +77417,7 @@ } }, "dynatrace:index/getSyntheticLocations:getSyntheticLocations": { - "description": "The synthetic locations data source allows the location IDs to be retrieved based off of provided parameters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getSyntheticLocations({\n name: \"Sydney\",\n});\nconst _name_ = new dynatrace.HttpMonitor(\"#name#\", {\n enabled: true,\n frequency: 60,\n locations: [test.then(test =\u003e test.locations?.entityId)],\n anomalyDetections: [{\n loadingTimeThresholds: [{\n enabled: true,\n }],\n outageHandlings: [{\n globalOutage: true,\n localOutage: false,\n retryOnError: false,\n }],\n }],\n script: {\n requests: [{\n description: \"google.com\",\n method: \"GET\",\n url: \"https://www.google.com\",\n configuration: {\n acceptAnyCertificate: true,\n followRedirects: true,\n },\n validation: {\n rules: [{\n type: \"httpStatusesList\",\n passIfFound: false,\n value: \"\u003e=400\",\n }],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_synthetic_locations(name=\"Sydney\")\n_name_ = dynatrace.HttpMonitor(\"#name#\",\n enabled=True,\n frequency=60,\n locations=[test.locations.entity_id],\n anomaly_detections=[{\n \"loading_time_thresholds\": [{\n \"enabled\": True,\n }],\n \"outage_handlings\": [{\n \"global_outage\": True,\n \"local_outage\": False,\n \"retry_on_error\": False,\n }],\n }],\n script={\n \"requests\": [{\n \"description\": \"google.com\",\n \"method\": \"GET\",\n \"url\": \"https://www.google.com\",\n \"configuration\": {\n \"accept_any_certificate\": True,\n \"follow_redirects\": True,\n },\n \"validation\": {\n \"rules\": [{\n \"type\": \"httpStatusesList\",\n \"pass_if_found\": False,\n \"value\": \"\u003e=400\",\n }],\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetSyntheticLocations.Invoke(new()\n {\n Name = \"Sydney\",\n });\n\n var _name_ = new Dynatrace.HttpMonitor(\"#name#\", new()\n {\n Enabled = true,\n Frequency = 60,\n Locations = new[]\n {\n test.Apply(getSyntheticLocationsResult =\u003e getSyntheticLocationsResult.Locations?.EntityId),\n },\n AnomalyDetections = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionArgs\n {\n LoadingTimeThresholds = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs\n {\n Enabled = true,\n },\n },\n OutageHandlings = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionOutageHandlingArgs\n {\n GlobalOutage = true,\n LocalOutage = false,\n RetryOnError = false,\n },\n },\n },\n },\n Script = new Dynatrace.Inputs.HttpMonitorScriptArgs\n {\n Requests = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestArgs\n {\n Description = \"google.com\",\n Method = \"GET\",\n Url = \"https://www.google.com\",\n Configuration = new Dynatrace.Inputs.HttpMonitorScriptRequestConfigurationArgs\n {\n AcceptAnyCertificate = true,\n FollowRedirects = true,\n },\n Validation = new Dynatrace.Inputs.HttpMonitorScriptRequestValidationArgs\n {\n Rules = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestValidationRuleArgs\n {\n Type = \"httpStatusesList\",\n PassIfFound = false,\n Value = \"\u003e=400\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetSyntheticLocations(ctx, \u0026dynatrace.GetSyntheticLocationsArgs{\n\t\t\tName: pulumi.StringRef(\"Sydney\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewHttpMonitor(ctx, \"#name#\", \u0026dynatrace.HttpMonitorArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFrequency: pulumi.Int(60),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.Locations.EntityId),\n\t\t\t},\n\t\t\tAnomalyDetections: dynatrace.HttpMonitorAnomalyDetectionArray{\n\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionArgs{\n\t\t\t\t\tLoadingTimeThresholds: dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOutageHandlings: dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArgs{\n\t\t\t\t\t\t\tGlobalOutage: pulumi.Bool(true),\n\t\t\t\t\t\t\tLocalOutage: pulumi.Bool(false),\n\t\t\t\t\t\t\tRetryOnError: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: \u0026dynatrace.HttpMonitorScriptTypeArgs{\n\t\t\t\tRequests: dynatrace.HttpMonitorScriptRequestArray{\n\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestArgs{\n\t\t\t\t\t\tDescription: pulumi.String(\"google.com\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"https://www.google.com\"),\n\t\t\t\t\t\tConfiguration: \u0026dynatrace.HttpMonitorScriptRequestConfigurationArgs{\n\t\t\t\t\t\t\tAcceptAnyCertificate: pulumi.Bool(true),\n\t\t\t\t\t\t\tFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tValidation: \u0026dynatrace.HttpMonitorScriptRequestValidationArgs{\n\t\t\t\t\t\t\tRules: dynatrace.HttpMonitorScriptRequestValidationRuleArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestValidationRuleArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"httpStatusesList\"),\n\t\t\t\t\t\t\t\t\tPassIfFound: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003e=400\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetSyntheticLocationsArgs;\nimport com.pulumi.dynatrace.HttpMonitor;\nimport com.pulumi.dynatrace.HttpMonitorArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorAnomalyDetectionArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getSyntheticLocations(GetSyntheticLocationsArgs.builder()\n .name(\"Sydney\")\n .build());\n\n var _name_ = new HttpMonitor(\"#name#\", HttpMonitorArgs.builder()\n .enabled(true)\n .frequency(60)\n .locations(test.applyValue(getSyntheticLocationsResult -\u003e getSyntheticLocationsResult.locations().entityId()))\n .anomalyDetections(HttpMonitorAnomalyDetectionArgs.builder()\n .loadingTimeThresholds(HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs.builder()\n .enabled(true)\n .build())\n .outageHandlings(HttpMonitorAnomalyDetectionOutageHandlingArgs.builder()\n .globalOutage(true)\n .localOutage(false)\n .retryOnError(false)\n .build())\n .build())\n .script(HttpMonitorScriptArgs.builder()\n .requests(HttpMonitorScriptRequestArgs.builder()\n .description(\"google.com\")\n .method(\"GET\")\n .url(\"https://www.google.com\")\n .configuration(HttpMonitorScriptRequestConfigurationArgs.builder()\n .acceptAnyCertificate(true)\n .followRedirects(true)\n .build())\n .validation(HttpMonitorScriptRequestValidationArgs.builder()\n .rules(HttpMonitorScriptRequestValidationRuleArgs.builder()\n .type(\"httpStatusesList\")\n .passIfFound(false)\n .value(\"\u003e=400\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:HttpMonitor\n properties:\n enabled: true\n frequency: 60\n locations:\n - ${test.locations.entityId}\n anomalyDetections:\n - loadingTimeThresholds:\n - enabled: true\n outageHandlings:\n - globalOutage: true\n localOutage: false\n retryOnError: false\n script:\n requests:\n - description: google.com\n method: GET\n url: https://www.google.com\n configuration:\n acceptAnyCertificate: true\n followRedirects: true\n validation:\n rules:\n - type: httpStatusesList\n passIfFound: false\n value: '\u003e=400'\nvariables:\n test:\n fn::invoke:\n Function: dynatrace:getSyntheticLocations\n Arguments:\n name: Sydney\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The synthetic locations data source allows the location IDs to be retrieved based off of provided parameters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\nimport * as dynatrace from \"@pulumiverse/dynatrace\";\n\nconst test = dynatrace.getSyntheticLocations({\n name: \"Sydney\",\n});\nconst _name_ = new dynatrace.HttpMonitor(\"#name#\", {\n enabled: true,\n frequency: 60,\n locations: [test.then(test =\u003e test.locations?.entityId)],\n anomalyDetections: [{\n loadingTimeThresholds: [{\n enabled: true,\n }],\n outageHandlings: [{\n globalOutage: true,\n localOutage: false,\n retryOnError: false,\n }],\n }],\n script: {\n requests: [{\n description: \"google.com\",\n method: \"GET\",\n url: \"https://www.google.com\",\n configuration: {\n acceptAnyCertificate: true,\n followRedirects: true,\n },\n validation: {\n rules: [{\n type: \"httpStatusesList\",\n passIfFound: false,\n value: \"\u003e=400\",\n }],\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\nimport pulumiverse_dynatrace as dynatrace\n\ntest = dynatrace.get_synthetic_locations(name=\"Sydney\")\n_name_ = dynatrace.HttpMonitor(\"#name#\",\n enabled=True,\n frequency=60,\n locations=[test.locations.entity_id],\n anomaly_detections=[{\n \"loading_time_thresholds\": [{\n \"enabled\": True,\n }],\n \"outage_handlings\": [{\n \"global_outage\": True,\n \"local_outage\": False,\n \"retry_on_error\": False,\n }],\n }],\n script={\n \"requests\": [{\n \"description\": \"google.com\",\n \"method\": \"GET\",\n \"url\": \"https://www.google.com\",\n \"configuration\": {\n \"accept_any_certificate\": True,\n \"follow_redirects\": True,\n },\n \"validation\": {\n \"rules\": [{\n \"type\": \"httpStatusesList\",\n \"pass_if_found\": False,\n \"value\": \"\u003e=400\",\n }],\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\nusing Dynatrace = Pulumiverse.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Dynatrace.GetSyntheticLocations.Invoke(new()\n {\n Name = \"Sydney\",\n });\n\n var _name_ = new Dynatrace.HttpMonitor(\"#name#\", new()\n {\n Enabled = true,\n Frequency = 60,\n Locations = new[]\n {\n test.Apply(getSyntheticLocationsResult =\u003e getSyntheticLocationsResult.Locations?.EntityId),\n },\n AnomalyDetections = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionArgs\n {\n LoadingTimeThresholds = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs\n {\n Enabled = true,\n },\n },\n OutageHandlings = new[]\n {\n new Dynatrace.Inputs.HttpMonitorAnomalyDetectionOutageHandlingArgs\n {\n GlobalOutage = true,\n LocalOutage = false,\n RetryOnError = false,\n },\n },\n },\n },\n Script = new Dynatrace.Inputs.HttpMonitorScriptArgs\n {\n Requests = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestArgs\n {\n Description = \"google.com\",\n Method = \"GET\",\n Url = \"https://www.google.com\",\n Configuration = new Dynatrace.Inputs.HttpMonitorScriptRequestConfigurationArgs\n {\n AcceptAnyCertificate = true,\n FollowRedirects = true,\n },\n Validation = new Dynatrace.Inputs.HttpMonitorScriptRequestValidationArgs\n {\n Rules = new[]\n {\n new Dynatrace.Inputs.HttpMonitorScriptRequestValidationRuleArgs\n {\n Type = \"httpStatusesList\",\n PassIfFound = false,\n Value = \"\u003e=400\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := dynatrace.GetSyntheticLocations(ctx, \u0026dynatrace.GetSyntheticLocationsArgs{\n\t\t\tName: pulumi.StringRef(\"Sydney\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dynatrace.NewHttpMonitor(ctx, \"#name#\", \u0026dynatrace.HttpMonitorArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFrequency: pulumi.Int(60),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(test.Locations.EntityId),\n\t\t\t},\n\t\t\tAnomalyDetections: dynatrace.HttpMonitorAnomalyDetectionArray{\n\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionArgs{\n\t\t\t\t\tLoadingTimeThresholds: dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOutageHandlings: dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArray{\n\t\t\t\t\t\t\u0026dynatrace.HttpMonitorAnomalyDetectionOutageHandlingArgs{\n\t\t\t\t\t\t\tGlobalOutage: pulumi.Bool(true),\n\t\t\t\t\t\t\tLocalOutage: pulumi.Bool(false),\n\t\t\t\t\t\t\tRetryOnError: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScript: \u0026dynatrace.HttpMonitorScriptTypeArgs{\n\t\t\t\tRequests: dynatrace.HttpMonitorScriptRequestArray{\n\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestArgs{\n\t\t\t\t\t\tDescription: pulumi.String(\"google.com\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tUrl: pulumi.String(\"https://www.google.com\"),\n\t\t\t\t\t\tConfiguration: \u0026dynatrace.HttpMonitorScriptRequestConfigurationArgs{\n\t\t\t\t\t\t\tAcceptAnyCertificate: pulumi.Bool(true),\n\t\t\t\t\t\t\tFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tValidation: \u0026dynatrace.HttpMonitorScriptRequestValidationArgs{\n\t\t\t\t\t\t\tRules: dynatrace.HttpMonitorScriptRequestValidationRuleArray{\n\t\t\t\t\t\t\t\t\u0026dynatrace.HttpMonitorScriptRequestValidationRuleArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"httpStatusesList\"),\n\t\t\t\t\t\t\t\t\tPassIfFound: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003e=400\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetSyntheticLocationsArgs;\nimport com.pulumi.dynatrace.HttpMonitor;\nimport com.pulumi.dynatrace.HttpMonitorArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorAnomalyDetectionArgs;\nimport com.pulumi.dynatrace.inputs.HttpMonitorScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = DynatraceFunctions.getSyntheticLocations(GetSyntheticLocationsArgs.builder()\n .name(\"Sydney\")\n .build());\n\n var _name_ = new HttpMonitor(\"#name#\", HttpMonitorArgs.builder()\n .enabled(true)\n .frequency(60)\n .locations(test.applyValue(getSyntheticLocationsResult -\u003e getSyntheticLocationsResult.locations().entityId()))\n .anomalyDetections(HttpMonitorAnomalyDetectionArgs.builder()\n .loadingTimeThresholds(HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs.builder()\n .enabled(true)\n .build())\n .outageHandlings(HttpMonitorAnomalyDetectionOutageHandlingArgs.builder()\n .globalOutage(true)\n .localOutage(false)\n .retryOnError(false)\n .build())\n .build())\n .script(HttpMonitorScriptArgs.builder()\n .requests(HttpMonitorScriptRequestArgs.builder()\n .description(\"google.com\")\n .method(\"GET\")\n .url(\"https://www.google.com\")\n .configuration(HttpMonitorScriptRequestConfigurationArgs.builder()\n .acceptAnyCertificate(true)\n .followRedirects(true)\n .build())\n .validation(HttpMonitorScriptRequestValidationArgs.builder()\n .rules(HttpMonitorScriptRequestValidationRuleArgs.builder()\n .type(\"httpStatusesList\")\n .passIfFound(false)\n .value(\"\u003e=400\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n '#name#':\n type: dynatrace:HttpMonitor\n properties:\n enabled: true\n frequency: 60\n locations:\n - ${test.locations.entityId}\n anomalyDetections:\n - loadingTimeThresholds:\n - enabled: true\n outageHandlings:\n - globalOutage: true\n localOutage: false\n retryOnError: false\n script:\n requests:\n - description: google.com\n method: GET\n url: https://www.google.com\n configuration:\n acceptAnyCertificate: true\n followRedirects: true\n validation:\n rules:\n - type: httpStatusesList\n passIfFound: false\n value: '\u003e=400'\nvariables:\n test:\n fn::invoke:\n function: dynatrace:getSyntheticLocations\n arguments:\n name: Sydney\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSyntheticLocations.\n", "properties": { @@ -76571,7 +77498,7 @@ } }, "dynatrace:index/getUpdateWindows:getUpdateWindows": { - "description": "The `dynatrace.UpdateWindows` data source allows the OneAgent update maintenance window ID to be retrieved by its name.\n\n- `name` (String) - The name of the OneAgent update maintenance window\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getUpdateWindows({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_update_windows(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetUpdateWindows.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getUpdateWindowsResult =\u003e getUpdateWindowsResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupUpdateWindows(ctx, \u0026dynatrace.LookupUpdateWindowsArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetUpdateWindowsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getUpdateWindows(GetUpdateWindowsArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getUpdateWindowsResult -\u003e getUpdateWindowsResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getUpdateWindows\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.UpdateWindows` data source allows the OneAgent update maintenance window ID to be retrieved by its name.\n\n- `name` (String) - The name of the OneAgent update maintenance window\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getUpdateWindows({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_update_windows(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetUpdateWindows.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getUpdateWindowsResult =\u003e getUpdateWindowsResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupUpdateWindows(ctx, \u0026dynatrace.LookupUpdateWindowsArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetUpdateWindowsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getUpdateWindows(GetUpdateWindowsArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getUpdateWindowsResult -\u003e getUpdateWindowsResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getUpdateWindows\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUpdateWindows.\n", "properties": { @@ -76603,7 +77530,7 @@ } }, "dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting": { - "description": "The `dynatrace.VulnerabilityAlerting` data source allows the vulnerability alerting profile ID to be retrieved by its name.\n\n- `name` (String) - The name of the vulnerability alerting profile\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getVulnerabilityAlerting({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_vulnerability_alerting(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetVulnerabilityAlerting.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getVulnerabilityAlertingResult =\u003e getVulnerabilityAlertingResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupVulnerabilityAlerting(ctx, \u0026dynatrace.LookupVulnerabilityAlertingArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetVulnerabilityAlertingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getVulnerabilityAlerting(GetVulnerabilityAlertingArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getVulnerabilityAlertingResult -\u003e getVulnerabilityAlertingResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: dynatrace:getVulnerabilityAlerting\n Arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `dynatrace.VulnerabilityAlerting` data source allows the vulnerability alerting profile ID to be retrieved by its name.\n\n- `name` (String) - The name of the vulnerability alerting profile\n\nIf multiple services match the given criteria, the first result will be retrieved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dynatrace from \"@pulumi/dynatrace\";\n\nconst example = dynatrace.getVulnerabilityAlerting({\n name: \"Terraform Example\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_dynatrace as dynatrace\n\nexample = dynatrace.get_vulnerability_alerting(name=\"Terraform Example\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dynatrace = Pulumi.Dynatrace;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Dynatrace.GetVulnerabilityAlerting.Invoke(new()\n {\n Name = \"Terraform Example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getVulnerabilityAlertingResult =\u003e getVulnerabilityAlertingResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := dynatrace.LookupVulnerabilityAlerting(ctx, \u0026dynatrace.LookupVulnerabilityAlertingArgs{\n\t\t\tName: \"Terraform Example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\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.dynatrace.DynatraceFunctions;\nimport com.pulumi.dynatrace.inputs.GetVulnerabilityAlertingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = DynatraceFunctions.getVulnerabilityAlerting(GetVulnerabilityAlertingArgs.builder()\n .name(\"Terraform Example\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getVulnerabilityAlertingResult -\u003e getVulnerabilityAlertingResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: dynatrace:getVulnerabilityAlerting\n arguments:\n name: Terraform Example\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVulnerabilityAlerting.\n", "properties": { diff --git a/sdk/dotnet/AutomationControllerConnections.cs b/sdk/dotnet/AutomationControllerConnections.cs new file mode 100644 index 00000000..9f998e03 --- /dev/null +++ b/sdk/dotnet/AutomationControllerConnections.cs @@ -0,0 +1,172 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/automationControllerConnections:AutomationControllerConnections")] + public partial class AutomationControllerConnections : global::Pulumi.CustomResource + { + /// + /// A unique and clearly identifiable connection name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + /// + [Output("token")] + public Output Token { get; private set; } = null!; + + /// + /// Possible Values: `Api_token` + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a AutomationControllerConnections 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 AutomationControllerConnections(string name, AutomationControllerConnectionsArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/automationControllerConnections:AutomationControllerConnections", name, args ?? new AutomationControllerConnectionsArgs(), MakeResourceOptions(options, "")) + { + } + + private AutomationControllerConnections(string name, Input id, AutomationControllerConnectionsState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/automationControllerConnections:AutomationControllerConnections", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "token", + }, + }; + 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 AutomationControllerConnections 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 AutomationControllerConnections Get(string name, Input id, AutomationControllerConnectionsState? state = null, CustomResourceOptions? options = null) + { + return new AutomationControllerConnections(name, id, state, options); + } + } + + public sealed class AutomationControllerConnectionsArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Possible Values: `Api_token` + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AutomationControllerConnectionsArgs() + { + } + public static new AutomationControllerConnectionsArgs Empty => new AutomationControllerConnectionsArgs(); + } + + public sealed class AutomationControllerConnectionsState : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Possible Values: `Api_token` + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + /// + [Input("url")] + public Input? Url { get; set; } + + public AutomationControllerConnectionsState() + { + } + public static new AutomationControllerConnectionsState Empty => new AutomationControllerConnectionsState(); + } +} diff --git a/sdk/dotnet/AzureCredentials.cs b/sdk/dotnet/AzureCredentials.cs index c2ff1c8d..4176cd80 100644 --- a/sdk/dotnet/AzureCredentials.cs +++ b/sdk/dotnet/AzureCredentials.cs @@ -47,7 +47,7 @@ public partial class AzureCredentials : global::Pulumi.CustomResource /// The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed /// [Output("label")] - public Output Label { get; private set; } = null!; + public Output Label { get; private set; } = null!; /// /// A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. @@ -182,8 +182,8 @@ public Input? Key /// /// The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed /// - [Input("label")] - public Input? Label { get; set; } + [Input("label", required: true)] + public Input Label { get; set; } = null!; [Input("monitorOnlyExcludingTagPairs")] private InputList? _monitorOnlyExcludingTagPairs; diff --git a/sdk/dotnet/DefaultLaunchpad.cs b/sdk/dotnet/DefaultLaunchpad.cs new file mode 100644 index 00000000..195da491 --- /dev/null +++ b/sdk/dotnet/DefaultLaunchpad.cs @@ -0,0 +1,94 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/defaultLaunchpad:DefaultLaunchpad")] + public partial class DefaultLaunchpad : global::Pulumi.CustomResource + { + /// + /// Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + /// + [Output("groupLaunchpads")] + public Output GroupLaunchpads { get; private set; } = null!; + + + /// + /// Create a DefaultLaunchpad 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 DefaultLaunchpad(string name, DefaultLaunchpadArgs? args = null, CustomResourceOptions? options = null) + : base("dynatrace:index/defaultLaunchpad:DefaultLaunchpad", name, args ?? new DefaultLaunchpadArgs(), MakeResourceOptions(options, "")) + { + } + + private DefaultLaunchpad(string name, Input id, DefaultLaunchpadState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/defaultLaunchpad:DefaultLaunchpad", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + }; + 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 DefaultLaunchpad 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 DefaultLaunchpad Get(string name, Input id, DefaultLaunchpadState? state = null, CustomResourceOptions? options = null) + { + return new DefaultLaunchpad(name, id, state, options); + } + } + + public sealed class DefaultLaunchpadArgs : global::Pulumi.ResourceArgs + { + /// + /// Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + /// + [Input("groupLaunchpads")] + public Input? GroupLaunchpads { get; set; } + + public DefaultLaunchpadArgs() + { + } + public static new DefaultLaunchpadArgs Empty => new DefaultLaunchpadArgs(); + } + + public sealed class DefaultLaunchpadState : global::Pulumi.ResourceArgs + { + /// + /// Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + /// + [Input("groupLaunchpads")] + public Input? GroupLaunchpads { get; set; } + + public DefaultLaunchpadState() + { + } + public static new DefaultLaunchpadState Empty => new DefaultLaunchpadState(); + } +} diff --git a/sdk/dotnet/EventDrivenAnsibleConnections.cs b/sdk/dotnet/EventDrivenAnsibleConnections.cs new file mode 100644 index 00000000..d228a30e --- /dev/null +++ b/sdk/dotnet/EventDrivenAnsibleConnections.cs @@ -0,0 +1,172 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections")] + public partial class EventDrivenAnsibleConnections : global::Pulumi.CustomResource + { + /// + /// A unique and clearly identifiable connection name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + /// + [Output("token")] + public Output Token { get; private set; } = null!; + + /// + /// Possible Values: `Api_token` + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a EventDrivenAnsibleConnections 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 EventDrivenAnsibleConnections(string name, EventDrivenAnsibleConnectionsArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections", name, args ?? new EventDrivenAnsibleConnectionsArgs(), MakeResourceOptions(options, "")) + { + } + + private EventDrivenAnsibleConnections(string name, Input id, EventDrivenAnsibleConnectionsState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "token", + }, + }; + 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 EventDrivenAnsibleConnections 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 EventDrivenAnsibleConnections Get(string name, Input id, EventDrivenAnsibleConnectionsState? state = null, CustomResourceOptions? options = null) + { + return new EventDrivenAnsibleConnections(name, id, state, options); + } + } + + public sealed class EventDrivenAnsibleConnectionsArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Possible Values: `Api_token` + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public EventDrivenAnsibleConnectionsArgs() + { + } + public static new EventDrivenAnsibleConnectionsArgs Empty => new EventDrivenAnsibleConnectionsArgs(); + } + + public sealed class EventDrivenAnsibleConnectionsState : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Possible Values: `Api_token` + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + /// + [Input("url")] + public Input? Url { get; set; } + + public EventDrivenAnsibleConnectionsState() + { + } + public static new EventDrivenAnsibleConnectionsState Empty => new EventDrivenAnsibleConnectionsState(); + } +} diff --git a/sdk/dotnet/FrequentIssues.cs b/sdk/dotnet/FrequentIssues.cs index aa47b55c..3990e83e 100644 --- a/sdk/dotnet/FrequentIssues.cs +++ b/sdk/dotnet/FrequentIssues.cs @@ -19,6 +19,12 @@ public partial class FrequentIssues : global::Pulumi.CustomResource [Output("detectApps")] public Output DetectApps { get; private set; } = null!; + /// + /// Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + /// + [Output("detectEnv")] + public Output DetectEnv { get; private set; } = null!; + /// /// Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) /// @@ -84,6 +90,12 @@ public sealed class FrequentIssuesArgs : global::Pulumi.ResourceArgs [Input("detectApps", required: true)] public Input DetectApps { get; set; } = null!; + /// + /// Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + /// + [Input("detectEnv")] + public Input? DetectEnv { get; set; } + /// /// Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) /// @@ -110,6 +122,12 @@ public sealed class FrequentIssuesState : global::Pulumi.ResourceArgs [Input("detectApps")] public Input? DetectApps { get; set; } + /// + /// Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + /// + [Input("detectEnv")] + public Input? DetectEnv { get; set; } + /// /// Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) /// diff --git a/sdk/dotnet/GetAlertingProfile.cs b/sdk/dotnet/GetAlertingProfile.cs index 6fa7ec46..dd3780ce 100644 --- a/sdk/dotnet/GetAlertingProfile.cs +++ b/sdk/dotnet/GetAlertingProfile.cs @@ -85,6 +85,43 @@ public static Task InvokeAsync(GetAlertingProfileArgs /// public static Output Invoke(GetAlertingProfileInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAlertingProfile:getAlertingProfile", args ?? new GetAlertingProfileInvokeArgs(), options.WithDefaults()); + + /// + /// The Alerting Profile queries for an Alerting Profile that has a specified name. In case multiple Alerting Profiles share the same name the first one found will be used. + /// The ID of this Data Resource aligns with the IDs used by the Dynatrace Settings 2.0 API. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Dynatrace.GetAlertingProfile.Invoke(new() + /// { + /// Name = "Default", + /// }); + /// + /// var myWebhookNotification = new Dynatrace.WebhookNotification("myWebhookNotification", new() + /// { + /// Active = false, + /// Profile = @default.Apply(@default => @default.Apply(getAlertingProfileResult => getAlertingProfileResult.Id)), + /// Url = "https://webhook.site/40bf4d43-1a50-4ebd-913d-bf50ce7c3a1e", + /// Insecure = true, + /// NotifyEventMerges = true, + /// NotifyClosedProblems = true, + /// Payload = "web-hook-payload", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetAlertingProfileInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAlertingProfile:getAlertingProfile", args ?? new GetAlertingProfileInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAlertingProfiles.cs b/sdk/dotnet/GetAlertingProfiles.cs index 6bccc73f..7b3f12e9 100644 --- a/sdk/dotnet/GetAlertingProfiles.cs +++ b/sdk/dotnet/GetAlertingProfiles.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetAlertingProfilesArg /// public static Output Invoke(GetAlertingProfilesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAlertingProfiles:getAlertingProfiles", args ?? new GetAlertingProfilesInvokeArgs(), options.WithDefaults()); + + /// + /// The alerting profiles data source allows retrieval of all alerting profiles. + /// + public static Output Invoke(GetAlertingProfilesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAlertingProfiles:getAlertingProfiles", args ?? new GetAlertingProfilesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetApiToken.cs b/sdk/dotnet/GetApiToken.cs index 73b113ec..0f357fdb 100644 --- a/sdk/dotnet/GetApiToken.cs +++ b/sdk/dotnet/GetApiToken.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetApiTokenArgs args, InvokeOp /// public static Output Invoke(GetApiTokenInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getApiToken:getApiToken", args ?? new GetApiTokenInvokeArgs(), options.WithDefaults()); + + /// + /// The API token data source allows a single access token to be retrieved by its name, note the token value is not included in the response. + /// + /// If multiple tokens match the given name, the first result will be retrieved. To retrieve multiple tokens of the same name, please utilize the `dynatrace.getApiTokens` data source. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleApiToken = Dynatrace.GetApiToken.Invoke(new() + /// { + /// Name = "Terraform", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["example"] = exampleApiToken, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetApiTokenInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getApiToken:getApiToken", args ?? new GetApiTokenInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetApiTokens.cs b/sdk/dotnet/GetApiTokens.cs index 87203622..dc2b0b36 100644 --- a/sdk/dotnet/GetApiTokens.cs +++ b/sdk/dotnet/GetApiTokens.cs @@ -61,6 +61,31 @@ public static Task InvokeAsync(InvokeOptions? options = null /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getApiTokens:getApiTokens", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The API tokens data source allows all access tokens to be retrieved, note the token value is not included in the response. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleApiTokens = Dynatrace.GetApiTokens.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["example"] = exampleApiTokens, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getApiTokens:getApiTokens", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetApplication.cs b/sdk/dotnet/GetApplication.cs index 716f73ba..3aaaa453 100644 --- a/sdk/dotnet/GetApplication.cs +++ b/sdk/dotnet/GetApplication.cs @@ -87,6 +87,44 @@ public static Task InvokeAsync(GetApplicationArgs args, In /// public static Output Invoke(GetApplicationInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getApplication:getApplication", args ?? new GetApplicationInvokeArgs(), options.WithDefaults()); + + /// + /// The application data source allows the application ID to be retrieved by its name. + /// + /// - `name` queries for all applications with the specified name + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetApplication.Invoke(new() + /// { + /// Name = "Example", + /// }); + /// + /// var _name_ = new Dynatrace.ApplicationDetectionRule("#name#", new() + /// { + /// ApplicationIdentifier = test.Apply(getApplicationResult => getApplicationResult.Id), + /// FilterConfig = new Dynatrace.Inputs.ApplicationDetectionRuleFilterConfigArgs + /// { + /// ApplicationMatchTarget = "DOMAIN", + /// ApplicationMatchType = "MATCHES", + /// Pattern = "www.google.com", + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetApplicationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getApplication:getApplication", args ?? new GetApplicationInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAttackAlerting.cs b/sdk/dotnet/GetAttackAlerting.cs index 6185caf0..eeea4b78 100644 --- a/sdk/dotnet/GetAttackAlerting.cs +++ b/sdk/dotnet/GetAttackAlerting.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetAttackAlertingArgs ar /// public static Output Invoke(GetAttackAlertingInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAttackAlerting:getAttackAlerting", args ?? new GetAttackAlertingInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.AttackAlerting` data source allows the attack alerting profile ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the attack alerting profile + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetAttackAlerting.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getAttackAlertingResult => getAttackAlertingResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetAttackAlertingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAttackAlerting:getAttackAlerting", args ?? new GetAttackAlertingInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAutotag.cs b/sdk/dotnet/GetAutotag.cs index 577081ef..630a1e8e 100644 --- a/sdk/dotnet/GetAutotag.cs +++ b/sdk/dotnet/GetAutotag.cs @@ -191,6 +191,96 @@ public static Task InvokeAsync(GetAutotagArgs args, InvokeOpti /// public static Output Invoke(GetAutotagInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAutotag:getAutotag", args ?? new GetAutotagInvokeArgs(), options.WithDefaults()); + + /// + /// The automatically applied tag data source allows the tag ID to be retrieved by its name. + /// + /// > This data source requires the API token scopes **Read settings** (`settings.read`) + /// + /// - `name` queries the automatically applied tag with the specified name + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleAutotag = Dynatrace.GetAutotag.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// var exampleAutotagRules = new Dynatrace.AutotagRules("exampleAutotagRules", new() + /// { + /// AutoTagId = exampleAutotag.Apply(getAutotagResult => getAutotagResult.Id), + /// Rules = new Dynatrace.Inputs.AutotagRulesRulesArgs + /// { + /// Rules = new[] + /// { + /// new Dynatrace.Inputs.AutotagRulesRulesRuleArgs + /// { + /// Type = "ME", + /// Enabled = true, + /// ValueFormat = "Java", + /// ValueNormalization = "Leave text as-is", + /// AttributeRule = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleArgs + /// { + /// EntityType = "PROCESS_GROUP", + /// PgToHostPropagation = true, + /// PgToServicePropagation = false, + /// Conditions = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsArgs + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs + /// { + /// EnumValue = "JAVA", + /// Key = "PROCESS_GROUP_TECHNOLOGY", + /// Operator = "EQUALS", + /// }, + /// }, + /// }, + /// }, + /// }, + /// new Dynatrace.Inputs.AutotagRulesRulesRuleArgs + /// { + /// Type = "ME", + /// Enabled = true, + /// ValueFormat = ".NET", + /// ValueNormalization = "Leave text as-is", + /// AttributeRule = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleArgs + /// { + /// EntityType = "PROCESS_GROUP", + /// PgToHostPropagation = true, + /// PgToServicePropagation = false, + /// Conditions = new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsArgs + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.AutotagRulesRulesRuleAttributeRuleConditionsConditionArgs + /// { + /// EnumValue = "DOTNET", + /// Key = "PROCESS_GROUP_TECHNOLOGY", + /// Operator = "EQUALS", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetAutotagInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAutotag:getAutotag", args ?? new GetAutotagInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAwsCredentials.cs b/sdk/dotnet/GetAwsCredentials.cs index 716f6cbb..5087ad92 100644 --- a/sdk/dotnet/GetAwsCredentials.cs +++ b/sdk/dotnet/GetAwsCredentials.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetAwsCredentialsArgs ar /// public static Output Invoke(GetAwsCredentialsInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAwsCredentials:getAwsCredentials", args ?? new GetAwsCredentialsInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.AwsCredentials` data source allows the AWS credential ID to be retrieved by its label. + /// + /// - `label` (String) - The label/name of the AWS credential + /// + public static Output Invoke(GetAwsCredentialsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAwsCredentials:getAwsCredentials", args ?? new GetAwsCredentialsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAwsIamExternal.cs b/sdk/dotnet/GetAwsIamExternal.cs index ff72fee4..8fe12663 100644 --- a/sdk/dotnet/GetAwsIamExternal.cs +++ b/sdk/dotnet/GetAwsIamExternal.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(InvokeOptions? options = /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAwsIamExternal:getAwsIamExternal", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The AWS IAM external data source allows the AWS IAM external ID to be retrieved. + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAwsIamExternal:getAwsIamExternal", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetAwsSupportedServices.cs b/sdk/dotnet/GetAwsSupportedServices.cs index cfeaa27f..13e41a88 100644 --- a/sdk/dotnet/GetAwsSupportedServices.cs +++ b/sdk/dotnet/GetAwsSupportedServices.cs @@ -31,6 +31,16 @@ public static Task InvokeAsync(GetAwsSupportedSer /// public static Output Invoke(GetAwsSupportedServicesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAwsSupportedServices:getAwsSupportedServices", args ?? new GetAwsSupportedServicesInvokeArgs(), options.WithDefaults()); + + /// + /// The AWS supported service data source queries for a full list of all supported services. + /// + /// ## Example Usage + /// + /// For an example of this data source, please refer to the Resource Example Usage of the dynatrace.AwsService resource. + /// + public static Output Invoke(GetAwsSupportedServicesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAwsSupportedServices:getAwsSupportedServices", args ?? new GetAwsSupportedServicesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAzureCredentials.cs b/sdk/dotnet/GetAzureCredentials.cs index 68571ecd..96148e41 100644 --- a/sdk/dotnet/GetAzureCredentials.cs +++ b/sdk/dotnet/GetAzureCredentials.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetAzureCredentialsArg /// public static Output Invoke(GetAzureCredentialsInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAzureCredentials:getAzureCredentials", args ?? new GetAzureCredentialsInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.AzureCredentials` data source allows the Azure credential ID to be retrieved by its label. + /// + /// - `label` (String) - The label/name of the Azure credential + /// + public static Output Invoke(GetAzureCredentialsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAzureCredentials:getAzureCredentials", args ?? new GetAzureCredentialsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAzureSupportedServices.cs b/sdk/dotnet/GetAzureSupportedServices.cs index 722afd7e..1cf8d813 100644 --- a/sdk/dotnet/GetAzureSupportedServices.cs +++ b/sdk/dotnet/GetAzureSupportedServices.cs @@ -31,6 +31,16 @@ public static Task InvokeAsync(GetAzureSupporte /// public static Output Invoke(GetAzureSupportedServicesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAzureSupportedServices:getAzureSupportedServices", args ?? new GetAzureSupportedServicesInvokeArgs(), options.WithDefaults()); + + /// + /// The Azure supported service data source queries for a full list of all supported services. + /// + /// ## Example Usage + /// + /// For an example of this data source, please refer to the Resource Example Usage of the dynatrace.AzureService resource. + /// + public static Output Invoke(GetAzureSupportedServicesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getAzureSupportedServices:getAzureSupportedServices", args ?? new GetAzureSupportedServicesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetCalculatedServiceMetric.cs b/sdk/dotnet/GetCalculatedServiceMetric.cs index d8c41f19..decb7476 100644 --- a/sdk/dotnet/GetCalculatedServiceMetric.cs +++ b/sdk/dotnet/GetCalculatedServiceMetric.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetCalculatedSe /// public static Output Invoke(GetCalculatedServiceMetricInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric", args ?? new GetCalculatedServiceMetricInvokeArgs(), options.WithDefaults()); + + /// + /// The calculated service metric data source allows the metric ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the calculated service metric + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetCalculatedServiceMetric.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["groups"] = example.Apply(getCalculatedServiceMetricResult => getCalculatedServiceMetricResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetCalculatedServiceMetricInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric", args ?? new GetCalculatedServiceMetricInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetCredentials.cs b/sdk/dotnet/GetCredentials.cs index af02e304..67660356 100644 --- a/sdk/dotnet/GetCredentials.cs +++ b/sdk/dotnet/GetCredentials.cs @@ -193,6 +193,97 @@ public static Task InvokeAsync(GetCredentialsArgs? args = /// public static Output Invoke(GetCredentialsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getCredentials:getCredentials", args ?? new GetCredentialsInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.Credentials` data source queries for Credentials stored within the Credentials Vault using the properties `name`, `scope` and `type`. At least one of `name`, `scope` or `type` needs to be specified as a non empty value. Combinations of the three properties are also possible. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var creds = Dynatrace.GetCredentials.Invoke(new() + /// { + /// Name = "Office365 Access Token", + /// }); + /// + /// var _name_ = new Dynatrace.HttpMonitor("#name#", new() + /// { + /// Enabled = true, + /// Frequency = 60, + /// Locations = new[] + /// { + /// "SYNTHETIC_LOCATION-781752216580B1BC", + /// }, + /// AnomalyDetections = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorAnomalyDetectionArgs + /// { + /// LoadingTimeThresholds = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// OutageHandlings = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorAnomalyDetectionOutageHandlingArgs + /// { + /// GlobalOutage = true, + /// LocalOutage = false, + /// RetryOnError = false, + /// }, + /// }, + /// }, + /// }, + /// Script = new Dynatrace.Inputs.HttpMonitorScriptArgs + /// { + /// Requests = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorScriptRequestArgs + /// { + /// Description = "google.com", + /// Method = "GET", + /// Url = "https://www.google.com", + /// Authentication = new Dynatrace.Inputs.HttpMonitorScriptRequestAuthenticationArgs + /// { + /// Type = "BASIC_AUTHENTICATION", + /// Credentials = creds.Apply(getCredentialsResult => getCredentialsResult.Id), + /// }, + /// Configuration = new Dynatrace.Inputs.HttpMonitorScriptRequestConfigurationArgs + /// { + /// AcceptAnyCertificate = true, + /// FollowRedirects = true, + /// }, + /// Validation = new Dynatrace.Inputs.HttpMonitorScriptRequestValidationArgs + /// { + /// Rules = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorScriptRequestValidationRuleArgs + /// { + /// Type = "httpStatusesList", + /// PassIfFound = false, + /// Value = ">=400", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetCredentialsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getCredentials:getCredentials", args ?? new GetCredentialsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDashboard.cs b/sdk/dotnet/GetDashboard.cs index cec76ea1..540b30c6 100644 --- a/sdk/dotnet/GetDashboard.cs +++ b/sdk/dotnet/GetDashboard.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetDashboardArgs args, Invoke /// public static Output Invoke(GetDashboardInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getDashboard:getDashboard", args ?? new GetDashboardInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.Dashboard` data source allows the dashboard ID to be retrieved by its name and owner. + /// + /// - `name` (String) - The name of the dashboard + /// - `owner` (String) - The owner of the dashboard + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetDashboard.Invoke(new() + /// { + /// Name = "Terraform", + /// Owner = "Hashicorp", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getDashboardResult => getDashboardResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetDashboardInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getDashboard:getDashboard", args ?? new GetDashboardInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDocuments.cs b/sdk/dotnet/GetDocuments.cs index d607ce27..4d749f27 100644 --- a/sdk/dotnet/GetDocuments.cs +++ b/sdk/dotnet/GetDocuments.cs @@ -81,6 +81,41 @@ public static Task InvokeAsync(GetDocumentsArgs? args = null /// public static Output Invoke(GetDocumentsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getDocuments:getDocuments", args ?? new GetDocumentsInvokeArgs(), options.WithDefaults()); + + /// + /// > **Dynatrace SaaS only** + /// + /// > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **View documents** (`document:documents:read`). + /// + /// - `type` (String) The type of documents to query for. Leave empty if you want to query for all kinds of documents. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var all_dashboard_and_notebooks = Dynatrace.GetDocuments.Invoke(); + /// + /// var all_dashboards = Dynatrace.GetDocuments.Invoke(new() + /// { + /// Type = "dashboard", + /// }); + /// + /// var all_notebooks = Dynatrace.GetDocuments.Invoke(new() + /// { + /// Type = "notebook", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetDocumentsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getDocuments:getDocuments", args ?? new GetDocumentsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetEntities.cs b/sdk/dotnet/GetEntities.cs index 07c82363..ef6964c6 100644 --- a/sdk/dotnet/GetEntities.cs +++ b/sdk/dotnet/GetEntities.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetEntitiesArgs? args = null, /// public static Output Invoke(GetEntitiesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getEntities:getEntities", args ?? new GetEntitiesInvokeArgs(), options.WithDefaults()); + + /// + /// The entities data source allows all entities to be retrieved by its type. + /// + /// - `type` (String) Type of the entity, e.g. SERVICE. All available entity types can be retrieved with [/api/v2/entityTypes](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/entity-v2/get-all-entity-types). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetEntities.Invoke(new() + /// { + /// Type = "SERVICE", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["serviceList"] = test.Apply(getEntitiesResult => getEntitiesResult.Entities), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetEntitiesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getEntities:getEntities", args ?? new GetEntitiesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetEntity.cs b/sdk/dotnet/GetEntity.cs index f8573ac8..790140e7 100644 --- a/sdk/dotnet/GetEntity.cs +++ b/sdk/dotnet/GetEntity.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetEntityArgs? args = null, Invo /// public static Output Invoke(GetEntityInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getEntity:getEntity", args ?? new GetEntityInvokeArgs(), options.WithDefaults()); + + /// + /// The entity data source allows the entity ID to be retrieved by its name and type. + /// + /// - `name` (String) Display name of the entity + /// - `type` (String) Type of the entity, e.g. SERVICE. All available entity types can be retrieved with [/api/v2/entityTypes](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/entity-v2/get-all-entity-types). + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetEntity.Invoke(new() + /// { + /// Type = "SERVICE", + /// Name = "BookingService", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = test.Apply(getEntityResult => getEntityResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetEntityInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getEntity:getEntity", args ?? new GetEntityInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetFailureDetectionParameters.cs b/sdk/dotnet/GetFailureDetectionParameters.cs index 9c6cec71..593b1c2e 100644 --- a/sdk/dotnet/GetFailureDetectionParameters.cs +++ b/sdk/dotnet/GetFailureDetectionParameters.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetFailureDe /// public static Output Invoke(GetFailureDetectionParametersInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters", args ?? new GetFailureDetectionParametersInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.FailureDetectionParameters` data source allows the failure detection parameter ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the failure detection parameter + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetFailureDetectionParameters.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getFailureDetectionParametersResult => getFailureDetectionParametersResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetFailureDetectionParametersInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters", args ?? new GetFailureDetectionParametersInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetGenericSetting.cs b/sdk/dotnet/GetGenericSetting.cs index 7f11d69d..7d7ac60d 100644 --- a/sdk/dotnet/GetGenericSetting.cs +++ b/sdk/dotnet/GetGenericSetting.cs @@ -73,6 +73,37 @@ public static Task InvokeAsync(GetGenericSettingArgs? a /// public static Output Invoke(GetGenericSettingInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGenericSetting:getGenericSetting", args ?? new GetGenericSettingInvokeArgs(), options.WithDefaults()); + + /// + /// The generic setting data source allows a single Settings 2.0 object to be retrieved by its schema ID, scope, and/or filter. + /// + /// If multiple objects match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGenericSetting.Invoke(new() + /// { + /// Schema = "builtin:alerting.maintenance-window", + /// Filter = "value.generalProperties.name = 'Terraform Example'", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["genericSetting"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetGenericSettingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGenericSetting:getGenericSetting", args ?? new GetGenericSettingInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetGenericSettings.cs b/sdk/dotnet/GetGenericSettings.cs index 955d96e1..26f30a28 100644 --- a/sdk/dotnet/GetGenericSettings.cs +++ b/sdk/dotnet/GetGenericSettings.cs @@ -67,6 +67,34 @@ public static Task InvokeAsync(GetGenericSettingsArgs? /// public static Output Invoke(GetGenericSettingsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGenericSettings:getGenericSettings", args ?? new GetGenericSettingsInvokeArgs(), options.WithDefaults()); + + /// + /// The generic settings data source allows Settings 2.0 objects to be retrieved by its schema ID, scope, and/or filter. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGenericSettings.Invoke(new() + /// { + /// Schema = "builtin:alerting.maintenance-window", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["genericSettings"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetGenericSettingsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGenericSettings:getGenericSettings", args ?? new GetGenericSettingsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetGeoCities.cs b/sdk/dotnet/GetGeoCities.cs new file mode 100644 index 00000000..80fb3f4f --- /dev/null +++ b/sdk/dotnet/GetGeoCities.cs @@ -0,0 +1,193 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + public static class GetGeoCities + { + /// + /// The `dynatrace.getGeoCities` data source retrieves the list of cities and their codes based on country and region code. + /// + /// - `country_code` (String) - The ISO code of the required country + /// - `region_code` (String) - The code of the required region + /// + /// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoCities.Invoke(new() + /// { + /// CountryCode = "FR", + /// RegionCode = "BRE", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Task InvokeAsync(GetGeoCitiesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("dynatrace:index/getGeoCities:getGeoCities", args ?? new GetGeoCitiesArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.getGeoCities` data source retrieves the list of cities and their codes based on country and region code. + /// + /// - `country_code` (String) - The ISO code of the required country + /// - `region_code` (String) - The code of the required region + /// + /// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoCities.Invoke(new() + /// { + /// CountryCode = "FR", + /// RegionCode = "BRE", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetGeoCitiesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGeoCities:getGeoCities", args ?? new GetGeoCitiesInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.getGeoCities` data source retrieves the list of cities and their codes based on country and region code. + /// + /// - `country_code` (String) - The ISO code of the required country + /// - `region_code` (String) - The code of the required region + /// + /// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoCities.Invoke(new() + /// { + /// CountryCode = "FR", + /// RegionCode = "BRE", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetGeoCitiesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGeoCities:getGeoCities", args ?? new GetGeoCitiesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetGeoCitiesArgs : global::Pulumi.InvokeArgs + { + /// + /// The ISO code of the required country + /// + [Input("countryCode", required: true)] + public string CountryCode { get; set; } = null!; + + /// + /// The code of the required region + /// + [Input("regionCode", required: true)] + public string RegionCode { get; set; } = null!; + + public GetGeoCitiesArgs() + { + } + public static new GetGeoCitiesArgs Empty => new GetGeoCitiesArgs(); + } + + public sealed class GetGeoCitiesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ISO code of the required country + /// + [Input("countryCode", required: true)] + public Input CountryCode { get; set; } = null!; + + /// + /// The code of the required region + /// + [Input("regionCode", required: true)] + public Input RegionCode { get; set; } = null!; + + public GetGeoCitiesInvokeArgs() + { + } + public static new GetGeoCitiesInvokeArgs Empty => new GetGeoCitiesInvokeArgs(); + } + + + [OutputType] + public sealed class GetGeoCitiesResult + { + public readonly ImmutableArray Cities; + /// + /// The ISO code of the required country + /// + public readonly string CountryCode; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// The code of the required region + /// + public readonly string RegionCode; + + [OutputConstructor] + private GetGeoCitiesResult( + ImmutableArray cities, + + string countryCode, + + string id, + + string regionCode) + { + Cities = cities; + CountryCode = countryCode; + Id = id; + RegionCode = regionCode; + } + } +} diff --git a/sdk/dotnet/GetGeoCountries.cs b/sdk/dotnet/GetGeoCountries.cs new file mode 100644 index 00000000..1b3ce0a9 --- /dev/null +++ b/sdk/dotnet/GetGeoCountries.cs @@ -0,0 +1,117 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + public static class GetGeoCountries + { + /// + /// The `dynatrace.getGeoCountries` data source retrieves the list of countries and their codes. + /// + /// Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoCountries.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Task InvokeAsync(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("dynatrace:index/getGeoCountries:getGeoCountries", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The `dynatrace.getGeoCountries` data source retrieves the list of countries and their codes. + /// + /// Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoCountries.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGeoCountries:getGeoCountries", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The `dynatrace.getGeoCountries` data source retrieves the list of countries and their codes. + /// + /// Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoCountries.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGeoCountries:getGeoCountries", InvokeArgs.Empty, options.WithDefaults()); + } + + + [OutputType] + public sealed class GetGeoCountriesResult + { + public readonly ImmutableArray Countries; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetGeoCountriesResult( + ImmutableArray countries, + + string id) + { + Countries = countries; + Id = id; + } + } +} diff --git a/sdk/dotnet/GetGeoRegions.cs b/sdk/dotnet/GetGeoRegions.cs new file mode 100644 index 00000000..ba3e1d9d --- /dev/null +++ b/sdk/dotnet/GetGeoRegions.cs @@ -0,0 +1,168 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + public static class GetGeoRegions + { + /// + /// The `dynatrace.getGeoRegions` data source retrieves the list of regions and their codes based on country code. + /// + /// - `country_code` (String) - The ISO code of the required country + /// + /// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoRegions.Invoke(new() + /// { + /// CountryCode = "FR", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Task InvokeAsync(GetGeoRegionsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("dynatrace:index/getGeoRegions:getGeoRegions", args ?? new GetGeoRegionsArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.getGeoRegions` data source retrieves the list of regions and their codes based on country code. + /// + /// - `country_code` (String) - The ISO code of the required country + /// + /// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoRegions.Invoke(new() + /// { + /// CountryCode = "FR", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetGeoRegionsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGeoRegions:getGeoRegions", args ?? new GetGeoRegionsInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.getGeoRegions` data source retrieves the list of regions and their codes based on country code. + /// + /// - `country_code` (String) - The ISO code of the required country + /// + /// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetGeoRegions.Invoke(new() + /// { + /// CountryCode = "FR", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["test"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetGeoRegionsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getGeoRegions:getGeoRegions", args ?? new GetGeoRegionsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetGeoRegionsArgs : global::Pulumi.InvokeArgs + { + /// + /// The ISO code of the required country + /// + [Input("countryCode", required: true)] + public string CountryCode { get; set; } = null!; + + public GetGeoRegionsArgs() + { + } + public static new GetGeoRegionsArgs Empty => new GetGeoRegionsArgs(); + } + + public sealed class GetGeoRegionsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ISO code of the required country + /// + [Input("countryCode", required: true)] + public Input CountryCode { get; set; } = null!; + + public GetGeoRegionsInvokeArgs() + { + } + public static new GetGeoRegionsInvokeArgs Empty => new GetGeoRegionsInvokeArgs(); + } + + + [OutputType] + public sealed class GetGeoRegionsResult + { + /// + /// The ISO code of the required country + /// + public readonly string CountryCode; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly ImmutableArray Regions; + + [OutputConstructor] + private GetGeoRegionsResult( + string countryCode, + + string id, + + ImmutableArray regions) + { + CountryCode = countryCode; + Id = id; + Regions = regions; + } + } +} diff --git a/sdk/dotnet/GetHost.cs b/sdk/dotnet/GetHost.cs index 9f1af7a8..b623fcf1 100644 --- a/sdk/dotnet/GetHost.cs +++ b/sdk/dotnet/GetHost.cs @@ -109,6 +109,55 @@ public static Task InvokeAsync(GetHostArgs args, InvokeOptions? o /// public static Output Invoke(GetHostInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getHost:getHost", args ?? new GetHostInvokeArgs(), options.WithDefaults()); + + /// + /// !> The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `HOST` instead. + /// + /// The host data source allows the host ID to be retrieved by its name and optionally tags / tag-value pairs. + /// + /// - `name` queries for all hosts with the specified name + /// - `tags` (optional) refers to the tags that need to be present for the host (inclusive) + /// + /// If multiple hosts match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetHost.Invoke(new() + /// { + /// Name = "Example", + /// Tags = new[] + /// { + /// "TerraformKeyTest", + /// "TerraformKeyValueTest=TestValue", + /// }, + /// }); + /// + /// var _name_ = new Dynatrace.ManagementZone("#name#", new() + /// { + /// EntitySelectorBasedRules = new[] + /// { + /// new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs + /// { + /// Enabled = true, + /// Selector = $"type(\"host\"),entityId(\"{test.Apply(getHostResult => getHostResult.Id)}\")", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetHostInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getHost:getHost", args ?? new GetHostInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetHubItems.cs b/sdk/dotnet/GetHubItems.cs index 06cf88cf..3e376517 100644 --- a/sdk/dotnet/GetHubItems.cs +++ b/sdk/dotnet/GetHubItems.cs @@ -73,6 +73,37 @@ public static Task InvokeAsync(GetHubItemsArgs? args = null, /// public static Output Invoke(GetHubItemsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getHubItems:getHubItems", args ?? new GetHubItemsInvokeArgs(), options.WithDefaults()); + + /// + /// > This data source requires the API token scope `hub.read`) + /// + /// - `type` (String) The type of hub item you are interested in. Possible values are `TECHNOLOGY`, `EXTENSION1` or `EXTENSION2`. If not specified, no restriction regarding type happens + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var extension_20_items = Dynatrace.GetHubItems.Invoke(new() + /// { + /// Type = "EXTENSION2", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["artifact-ids"] = extension_20_items.Apply(extension_20_items => extension_20_items.Apply(getHubItemsResult => getHubItemsResult.Artifacts)), + /// ["hub-items"] = extension_20_items.Apply(extension_20_items => extension_20_items.Apply(getHubItemsResult => getHubItemsResult.Items)), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetHubItemsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getHubItems:getHubItems", args ?? new GetHubItemsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamGroup.cs b/sdk/dotnet/GetIamGroup.cs index 5be02358..2617b955 100644 --- a/sdk/dotnet/GetIamGroup.cs +++ b/sdk/dotnet/GetIamGroup.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetIamGroupArgs args, InvokeOp /// public static Output Invoke(GetIamGroupInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamGroup:getIamGroup", args ?? new GetIamGroupInvokeArgs(), options.WithDefaults()); + + /// + /// > **Dynatrace SaaS only** + /// + /// > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`). + /// + /// The IAM group data source allows the group ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the IAM group + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetIamGroup.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["groups"] = example.Apply(getIamGroupResult => getIamGroupResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetIamGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamGroup:getIamGroup", args ?? new GetIamGroupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamGroups.cs b/sdk/dotnet/GetIamGroups.cs index c3f0652e..4b43ecaa 100644 --- a/sdk/dotnet/GetIamGroups.cs +++ b/sdk/dotnet/GetIamGroups.cs @@ -91,6 +91,46 @@ public static Task InvokeAsync(InvokeOptions? options = null /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamGroups:getIamGroups", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// > **Dynatrace SaaS only** + /// + /// > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var all_groups = Dynatrace.GetIamGroups.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["groups"] = all_groups, + /// }; + /// }); + /// ``` + /// + /// ### Example output + /// ``` + /// Changes to Outputs: + /// + groups = { + /// + groups = { + /// + "########-3036-3ac2-5fa4-############" = "Group A" + /// + "########-4049-4241-ac2b-############" = "Group B" + /// + "########-5365-4450-89ab-############" = "Group C" + /// } + /// + id = "iam-groups" + /// } + /// ``` + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamGroups:getIamGroups", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamPolicies.cs b/sdk/dotnet/GetIamPolicies.cs index e4228673..bf8c24de 100644 --- a/sdk/dotnet/GetIamPolicies.cs +++ b/sdk/dotnet/GetIamPolicies.cs @@ -261,6 +261,131 @@ public static Task InvokeAsync(GetIamPoliciesArgs? args = /// public static Output Invoke(GetIamPoliciesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamPolicies:getIamPolicies", args ?? new GetIamPoliciesInvokeArgs(), options.WithDefaults()); + + /// + /// > **Dynatrace SaaS only** + /// + /// > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow IAM policy configuration for environments** (`iam-policies-management`) and **View environments** (`account-env-read`). + /// + /// You can use the attributes `environments`, `accounts` and `globals` to refine which policies you want to query for. + /// * The attribute `global` indicates whether the results should also contain global (Dynatrace defined) policies + /// * The attribute `environment` is an array of environment IDs. + /// * The results won't contain any environment specific policies if the attribute `environments` has been omitted + /// * The results will contain policies for all environments reachable via the given credentials if `environments` is set to `["*"]` + /// * The attribute `accounts` is an array of accounts UUIDs. Set this to `["*"]` if you want to receive account specific policies. + /// * The results won't contain any account specific policies if the attribute `accounts` has been omitted + /// ## Example Usage + /// + /// The following example queries for polices of all environments reachable via the given credentials, all accounts and all global policies. + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var all = Dynatrace.GetIamPolicies.Invoke(new() + /// { + /// Accounts = new[] + /// { + /// "*", + /// }, + /// Environments = new[] + /// { + /// "*", + /// }, + /// Global = true, + /// }); + /// + /// }); + /// ``` + /// The following example queries for policies that are defined for the environment with the id `abce234`. No account specific or global policies will be included. + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var all = Dynatrace.GetIamPolicies.Invoke(new() + /// { + /// Environments = new[] + /// { + /// "abce234", + /// }, + /// Global = false, + /// }); + /// + /// }); + /// ``` + /// + /// ## Example Output + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var all = Dynatrace.GetIamPolicies.Invoke(new() + /// { + /// Environments = new[] + /// { + /// "*", + /// }, + /// Accounts = new[] + /// { + /// "*", + /// }, + /// Global = true, + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["policies"] = all.Apply(getIamPoliciesResult => getIamPoliciesResult.Policies), + /// }; + /// }); + /// ``` + /// + /// ``` + /// Changes to Outputs: + /// + policies = [ + /// + { + /// + account = "########-86d8-####-88bd-############" + /// + environment = "" + /// + global = false + /// + id = "########-7a6a-####-a43e-#############-#account#-#########-86d8-####-88bd-############" + /// + name = "storage:bucket-definitions:delete" + /// + uuid = "########-7a6a-####-a43e-############" + /// }, + /// ... + /// + { + /// + account = "" + /// + environment = "#######" + /// + global = false + /// + id = "########-c7d6-####-878c-#############-#environment#-########" + /// + name = "some-policy" + /// + uuid = "########-c7d6-####-878c-############" + /// }, + /// ... + /// + { + /// + account = "" + /// + environment = "" + /// + global = true + /// + id = "########-6852-####-9d1b-#############-#global#-#global" + /// + name = "Storage Events Read" + /// + uuid = "########-6852-####-9d1b-############" + /// }, + /// ] + /// + /// ``` + /// + public static Output Invoke(GetIamPoliciesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamPolicies:getIamPolicies", args ?? new GetIamPoliciesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamPolicy.cs b/sdk/dotnet/GetIamPolicy.cs index 994e407f..640baa18 100644 --- a/sdk/dotnet/GetIamPolicy.cs +++ b/sdk/dotnet/GetIamPolicy.cs @@ -101,6 +101,51 @@ public static Task InvokeAsync(GetIamPolicyArgs args, Invoke /// public static Output Invoke(GetIamPolicyInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamPolicy:getIamPolicy", args ?? new GetIamPolicyInvokeArgs(), options.WithDefaults()); + + /// + /// > **Dynatrace SaaS only** + /// + /// > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permissions: **Allow IAM policy configuration for environments** (`iam-policies-management`) and **View environments** (`account-env-read`). + /// + /// The IAM policy data source allows the policy UUID to be retrieved by its name and account/environment (exclude for global). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var appengineadmin = Dynatrace.GetIamPolicy.Invoke(new() + /// { + /// Name = "AppEngine - Admin", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["policies"] = appengineadmin, + /// }; + /// }); + /// ``` + /// + /// ## Example Output + /// + /// ``` + /// Changes to Outputs: + /// + policies = { + /// + account = null + /// + environment = null + /// + id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX#-#global#-#global" + /// + name = "AppEngine - Admin" + /// + uuid = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// } + /// ``` + /// + public static Output Invoke(GetIamPolicyInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamPolicy:getIamPolicy", args ?? new GetIamPolicyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamUser.cs b/sdk/dotnet/GetIamUser.cs index c7fa4c51..2a90f498 100644 --- a/sdk/dotnet/GetIamUser.cs +++ b/sdk/dotnet/GetIamUser.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetIamUserArgs args, InvokeOpti /// public static Output Invoke(GetIamUserInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamUser:getIamUser", args ?? new GetIamUserInvokeArgs(), options.WithDefaults()); + + /// + /// > **Dynatrace SaaS only** + /// + /// > To utilize this resource, please define the environment variables `DT_CLIENT_ID`, `DT_CLIENT_SECRET`, `DT_ACCOUNT_ID` with an OAuth client including the following permission: **Allow read access for identity resources (users and groups)** (`account-idm-read`). + /// + /// This data source allows you to specify the email address of the user and produces an ordered list of group IDs this user is a member of + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var userA = Dynatrace.GetIamUser.Invoke(new() + /// { + /// Email = "me@home.com", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["groups"] = userA.Apply(getIamUserResult => getIamUserResult.Groups), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetIamUserInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getIamUser:getIamUser", args ?? new GetIamUserInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLambdaAgentVersion.cs b/sdk/dotnet/GetLambdaAgentVersion.cs index 746e9202..5909cf05 100644 --- a/sdk/dotnet/GetLambdaAgentVersion.cs +++ b/sdk/dotnet/GetLambdaAgentVersion.cs @@ -61,6 +61,31 @@ public static Task InvokeAsync(GetLambdaAgentVersio /// public static Output Invoke(GetLambdaAgentVersionInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion", args ?? new GetLambdaAgentVersionInvokeArgs(), options.WithDefaults()); + + /// + /// The AWS Lambda agent version data source retrieves the latest version names of OneAgent code modules for the Java, Node.js, and Python runtimes, also including names for layers that are combined with the log collector, as well as for the standalone log collector layer. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetLambdaAgentVersion.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["latest"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetLambdaAgentVersionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion", args ?? new GetLambdaAgentVersionInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetManagementZone.cs b/sdk/dotnet/GetManagementZone.cs index 43c54f59..73ee12cd 100644 --- a/sdk/dotnet/GetManagementZone.cs +++ b/sdk/dotnet/GetManagementZone.cs @@ -157,6 +157,79 @@ public static Task InvokeAsync(GetManagementZoneArgs ar /// public static Output Invoke(GetManagementZoneInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getManagementZone:getManagementZone", args ?? new GetManagementZoneInvokeArgs(), options.WithDefaults()); + + /// + /// The management zone data source allows the management zone ID to be retrieved by its name. + /// + /// > This data source requires the API token scope **Read configuration** (`ReadConfig`) + /// + /// !> This data source is utilizing an older API endpoint, please use dynatrace.ManagementZoneV2 instead. + /// + /// - `name` queries for all management zones with the specified name + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetManagementZone.Invoke(new() + /// { + /// Name = "Example", + /// }); + /// + /// var _name_ = new Dynatrace.CalculatedServiceMetric("#name#", new() + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs + /// { + /// Attribute = "HTTP_REQUEST_METHOD", + /// Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs + /// { + /// HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs + /// { + /// Operator = "EQUALS_ANY_OF", + /// Values = new[] + /// { + /// "POST", + /// "GET", + /// }, + /// }, + /// Negate = false, + /// }, + /// }, + /// }, + /// }, + /// }, + /// Enabled = true, + /// ManagementZones = new[] + /// { + /// test.Apply(getManagementZoneResult => getManagementZoneResult.Id), + /// }, + /// MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs + /// { + /// Metric = "REQUEST_ATTRIBUTE", + /// RequestAttribute = "foo", + /// }, + /// MetricKey = "calc:service.#name#", + /// Unit = "MILLI_SECOND_PER_MINUTE", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetManagementZoneInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getManagementZone:getManagementZone", args ?? new GetManagementZoneInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetManagementZoneV2.cs b/sdk/dotnet/GetManagementZoneV2.cs index b2bfb8b4..911ab4d2 100644 --- a/sdk/dotnet/GetManagementZoneV2.cs +++ b/sdk/dotnet/GetManagementZoneV2.cs @@ -153,6 +153,77 @@ public static Task InvokeAsync(GetManagementZoneV2Arg /// public static Output Invoke(GetManagementZoneV2InvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getManagementZoneV2:getManagementZoneV2", args ?? new GetManagementZoneV2InvokeArgs(), options.WithDefaults()); + + /// + /// The management zone data source allows the management zone ID to be retrieved by its name. + /// + /// > This data source requires the API token scopes **Read settings** (`settings.read`) + /// + /// - `name` queries for all management zones with the specified name + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetManagementZoneV2.Invoke(new() + /// { + /// Name = "Example", + /// }); + /// + /// var _name_ = new Dynatrace.CalculatedServiceMetric("#name#", new() + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs + /// { + /// Attribute = "HTTP_REQUEST_METHOD", + /// Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs + /// { + /// HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs + /// { + /// Operator = "EQUALS_ANY_OF", + /// Values = new[] + /// { + /// "POST", + /// "GET", + /// }, + /// }, + /// Negate = false, + /// }, + /// }, + /// }, + /// }, + /// }, + /// Enabled = true, + /// ManagementZones = new[] + /// { + /// test.Apply(getManagementZoneV2Result => getManagementZoneV2Result.LegacyId), + /// }, + /// MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs + /// { + /// Metric = "REQUEST_ATTRIBUTE", + /// RequestAttribute = "foo", + /// }, + /// MetricKey = "calc:service.#name#", + /// Unit = "MILLI_SECOND_PER_MINUTE", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetManagementZoneV2InvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getManagementZoneV2:getManagementZoneV2", args ?? new GetManagementZoneV2InvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetManagementZones.cs b/sdk/dotnet/GetManagementZones.cs index deb5e7d4..6251208e 100644 --- a/sdk/dotnet/GetManagementZones.cs +++ b/sdk/dotnet/GetManagementZones.cs @@ -139,6 +139,70 @@ public static Task InvokeAsync(InvokeOptions? options /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getManagementZones:getManagementZones", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The management zones data source allows retrieval of all management zones. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetManagementZones.Invoke(); + /// + /// var _name_ = new Dynatrace.CalculatedServiceMetric("#name#", new() + /// { + /// Enabled = true, + /// ManagementZones = new[] + /// { + /// test.Apply(getManagementZonesResult => getManagementZonesResult.Values[0]?.Id), + /// }, + /// MetricKey = "calc:service.#name#", + /// Unit = "MILLI_SECOND_PER_MINUTE", + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.CalculatedServiceMetricConditionArgs + /// { + /// Conditions = new[] + /// { + /// new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionArgs + /// { + /// Attribute = "HTTP_REQUEST_METHOD", + /// Comparison = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonArgs + /// { + /// Negate = false, + /// HttpMethod = new Dynatrace.Inputs.CalculatedServiceMetricConditionConditionComparisonHttpMethodArgs + /// { + /// Operator = "EQUALS_ANY_OF", + /// Values = new[] + /// { + /// "POST", + /// "GET", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// MetricDefinition = new Dynatrace.Inputs.CalculatedServiceMetricMetricDefinitionArgs + /// { + /// Metric = "REQUEST_ATTRIBUTE", + /// RequestAttribute = "foo", + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getManagementZones:getManagementZones", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetMobileApplication.cs b/sdk/dotnet/GetMobileApplication.cs index 78c2d72a..23eaa505 100644 --- a/sdk/dotnet/GetMobileApplication.cs +++ b/sdk/dotnet/GetMobileApplication.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetMobileApplicationA /// public static Output Invoke(GetMobileApplicationInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getMobileApplication:getMobileApplication", args ?? new GetMobileApplicationInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.MobileApplication` data source allows the mobile application ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the mobile application + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetMobileApplication.Invoke(new() + /// { + /// Name = "Terraform", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getMobileApplicationResult => getMobileApplicationResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetMobileApplicationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getMobileApplication:getMobileApplication", args ?? new GetMobileApplicationInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetProcess.cs b/sdk/dotnet/GetProcess.cs index 984aba8b..c10e83b3 100644 --- a/sdk/dotnet/GetProcess.cs +++ b/sdk/dotnet/GetProcess.cs @@ -109,6 +109,55 @@ public static Task InvokeAsync(GetProcessArgs args, InvokeOpti /// public static Output Invoke(GetProcessInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getProcess:getProcess", args ?? new GetProcessInvokeArgs(), options.WithDefaults()); + + /// + /// !> The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `PROCESS_GROUP_INSTANCE` instead. + /// + /// The process data source allows the process ID to be retrieved by its name and optionally tags / tag-value pairs. + /// + /// - `name` queries for all processes with the specified name + /// - `tags` (optional) refers to the tags that need to be present for the process (inclusive) + /// + /// If multiple processes match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetProcess.Invoke(new() + /// { + /// Name = "Example", + /// Tags = new[] + /// { + /// "TerraformKeyTest", + /// "TerraformKeyValueTest=TestValue", + /// }, + /// }); + /// + /// var _name_ = new Dynatrace.ManagementZone("#name#", new() + /// { + /// EntitySelectorBasedRules = new[] + /// { + /// new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs + /// { + /// Enabled = true, + /// Selector = $"type(\"process_group_instance\"),entityId(\"{test.Apply(getProcessResult => getProcessResult.Id)}\")", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetProcessInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getProcess:getProcess", args ?? new GetProcessInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetProcessGroup.cs b/sdk/dotnet/GetProcessGroup.cs index 7116407b..f34ee7b2 100644 --- a/sdk/dotnet/GetProcessGroup.cs +++ b/sdk/dotnet/GetProcessGroup.cs @@ -109,6 +109,55 @@ public static Task InvokeAsync(GetProcessGroupArgs args, /// public static Output Invoke(GetProcessGroupInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getProcessGroup:getProcessGroup", args ?? new GetProcessGroupInvokeArgs(), options.WithDefaults()); + + /// + /// !> The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `PROCESS_GROUP` instead. + /// + /// The process group data source allows the process group ID to be retrieved by its name and optionally tags / tag-value pairs. + /// + /// - `name` queries for all process groups with the specified name + /// - `tags` (optional) refers to the tags that need to be present for the process group (inclusive) + /// + /// If multiple process groups match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetProcessGroup.Invoke(new() + /// { + /// Name = "Example", + /// Tags = new[] + /// { + /// "TerraformKeyTest", + /// "TerraformKeyValueTest=TestValue", + /// }, + /// }); + /// + /// var _name_ = new Dynatrace.ManagementZone("#name#", new() + /// { + /// EntitySelectorBasedRules = new[] + /// { + /// new Dynatrace.Inputs.ManagementZoneEntitySelectorBasedRuleArgs + /// { + /// Enabled = true, + /// Selector = $"type(\"process_group\"),entityId(\"{test.Apply(getProcessGroupResult => getProcessGroupResult.Id)}\")", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetProcessGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getProcessGroup:getProcessGroup", args ?? new GetProcessGroupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetRemoteEnvironments.cs b/sdk/dotnet/GetRemoteEnvironments.cs index 08ba9e96..9692243b 100644 --- a/sdk/dotnet/GetRemoteEnvironments.cs +++ b/sdk/dotnet/GetRemoteEnvironments.cs @@ -61,6 +61,31 @@ public static Task InvokeAsync(InvokeOptions? optio /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getRemoteEnvironments:getRemoteEnvironments", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The remote environments data source allows retrieval of all remote environments. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetRemoteEnvironments.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["remoteEnvironments"] = example, + /// }; + /// }); + /// ``` + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getRemoteEnvironments:getRemoteEnvironments", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetRequestAttribute.cs b/sdk/dotnet/GetRequestAttribute.cs index fd049c31..3a11bcd0 100644 --- a/sdk/dotnet/GetRequestAttribute.cs +++ b/sdk/dotnet/GetRequestAttribute.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetRequestAttributeArg /// public static Output Invoke(GetRequestAttributeInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getRequestAttribute:getRequestAttribute", args ?? new GetRequestAttributeInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.RequestAttribute` data source allows the request attribute ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the request attribute + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetRequestAttribute.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getRequestAttributeResult => getRequestAttributeResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetRequestAttributeInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getRequestAttribute:getRequestAttribute", args ?? new GetRequestAttributeInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetRequestNaming.cs b/sdk/dotnet/GetRequestNaming.cs index 1d30584a..05395d7d 100644 --- a/sdk/dotnet/GetRequestNaming.cs +++ b/sdk/dotnet/GetRequestNaming.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetRequestNamingArgs args /// public static Output Invoke(GetRequestNamingInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getRequestNaming:getRequestNaming", args ?? new GetRequestNamingInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.RequestNaming` data source allows the request naming rule ID to be retrieved by its name. + /// + /// - `name` (String) - The name to be assigned to matching requests. + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetRequestNaming.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getRequestNamingResult => getRequestNamingResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetRequestNamingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getRequestNaming:getRequestNaming", args ?? new GetRequestNamingInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetService.cs b/sdk/dotnet/GetService.cs index 421117d9..7c64e024 100644 --- a/sdk/dotnet/GetService.cs +++ b/sdk/dotnet/GetService.cs @@ -95,6 +95,48 @@ public static Task InvokeAsync(GetServiceArgs args, InvokeOpti /// public static Output Invoke(GetServiceInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getService:getService", args ?? new GetServiceInvokeArgs(), options.WithDefaults()); + + /// + /// !> The data source API endpoint has been deprecated, please use dynatrace.getEntity with entity type `SERVICE` instead. + /// + /// The service data source allows the service ID to be retrieved by its name and optionally tags / tag-value pairs. + /// + /// - `name` queries for all services with the specified name + /// - `tags` (optional) refers to the tags that need to be present for the service (inclusive) + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetService.Invoke(new() + /// { + /// Name = "Example", + /// Tags = new[] + /// { + /// "TerraformKeyTest", + /// "TerraformKeyValueTest=TestValue", + /// }, + /// }); + /// + /// var _name_ = new Dynatrace.KeyRequests("#name#", new() + /// { + /// Service = test.Apply(getServiceResult => getServiceResult.Id), + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetServiceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getService:getService", args ?? new GetServiceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetSlo.cs b/sdk/dotnet/GetSlo.cs index 62e991f7..c4a6dd6d 100644 --- a/sdk/dotnet/GetSlo.cs +++ b/sdk/dotnet/GetSlo.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetSloArgs args, InvokeOptions? opt /// public static Output Invoke(GetSloInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSlo:getSlo", args ?? new GetSloInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.Slo` data source allows the SLO ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the SLO + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetSlo.Invoke(new() + /// { + /// Name = "Terraform", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getSloResult => getSloResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetSloInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSlo:getSlo", args ?? new GetSloInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetSyntheticLocation.cs b/sdk/dotnet/GetSyntheticLocation.cs index b831e3b7..5ff9309c 100644 --- a/sdk/dotnet/GetSyntheticLocation.cs +++ b/sdk/dotnet/GetSyntheticLocation.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetSyntheticLocationA /// public static Output Invoke(GetSyntheticLocationInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSyntheticLocation:getSyntheticLocation", args ?? new GetSyntheticLocationInvokeArgs(), options.WithDefaults()); + + /// + /// The synthetic location data source allows the location ID to be retrieved based off of provided parameters. + /// + public static Output Invoke(GetSyntheticLocationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSyntheticLocation:getSyntheticLocation", args ?? new GetSyntheticLocationInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetSyntheticLocations.cs b/sdk/dotnet/GetSyntheticLocations.cs index 196fbb89..cc797a99 100644 --- a/sdk/dotnet/GetSyntheticLocations.cs +++ b/sdk/dotnet/GetSyntheticLocations.cs @@ -183,6 +183,92 @@ public static Task InvokeAsync(GetSyntheticLocation /// public static Output Invoke(GetSyntheticLocationsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSyntheticLocations:getSyntheticLocations", args ?? new GetSyntheticLocationsInvokeArgs(), options.WithDefaults()); + + /// + /// The synthetic locations data source allows the location IDs to be retrieved based off of provided parameters. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// using Dynatrace = Pulumiverse.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Dynatrace.GetSyntheticLocations.Invoke(new() + /// { + /// Name = "Sydney", + /// }); + /// + /// var _name_ = new Dynatrace.HttpMonitor("#name#", new() + /// { + /// Enabled = true, + /// Frequency = 60, + /// Locations = new[] + /// { + /// test.Apply(getSyntheticLocationsResult => getSyntheticLocationsResult.Locations?.EntityId), + /// }, + /// AnomalyDetections = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorAnomalyDetectionArgs + /// { + /// LoadingTimeThresholds = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorAnomalyDetectionLoadingTimeThresholdArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// OutageHandlings = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorAnomalyDetectionOutageHandlingArgs + /// { + /// GlobalOutage = true, + /// LocalOutage = false, + /// RetryOnError = false, + /// }, + /// }, + /// }, + /// }, + /// Script = new Dynatrace.Inputs.HttpMonitorScriptArgs + /// { + /// Requests = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorScriptRequestArgs + /// { + /// Description = "google.com", + /// Method = "GET", + /// Url = "https://www.google.com", + /// Configuration = new Dynatrace.Inputs.HttpMonitorScriptRequestConfigurationArgs + /// { + /// AcceptAnyCertificate = true, + /// FollowRedirects = true, + /// }, + /// Validation = new Dynatrace.Inputs.HttpMonitorScriptRequestValidationArgs + /// { + /// Rules = new[] + /// { + /// new Dynatrace.Inputs.HttpMonitorScriptRequestValidationRuleArgs + /// { + /// Type = "httpStatusesList", + /// PassIfFound = false, + /// Value = ">=400", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetSyntheticLocationsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSyntheticLocations:getSyntheticLocations", args ?? new GetSyntheticLocationsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetSyntheticNodes.cs b/sdk/dotnet/GetSyntheticNodes.cs index 018fc066..1f528de1 100644 --- a/sdk/dotnet/GetSyntheticNodes.cs +++ b/sdk/dotnet/GetSyntheticNodes.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(InvokeOptions? options = /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSyntheticNodes:getSyntheticNodes", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The synthetic locations data source queries for all available Synthetic Nodes. The data source doesn't need to get configured. It always provides the full list of synthetic nodes. + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getSyntheticNodes:getSyntheticNodes", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetTenant.cs b/sdk/dotnet/GetTenant.cs index f2f9ca2b..63c521b3 100644 --- a/sdk/dotnet/GetTenant.cs +++ b/sdk/dotnet/GetTenant.cs @@ -25,6 +25,13 @@ public static Task InvokeAsync(InvokeOptions? options = null) /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getTenant:getTenant", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// The data source `dynatrace.getTenant` evalutes the configured Environment URL (either the environment variable `DYNATRACE_ENV_URL` or the configuration attribute `dt_env_url`) and extracts out the name/id of the environment this provider addresses. + /// Main purpose is for migrating settings from one environment to another, but it can be used to in general to avoid hard coding the environment ID like in the example below. + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getTenant:getTenant", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetUpdateWindows.cs b/sdk/dotnet/GetUpdateWindows.cs index 5666c8a3..b02ab8de 100644 --- a/sdk/dotnet/GetUpdateWindows.cs +++ b/sdk/dotnet/GetUpdateWindows.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetUpdateWindowsArgs args /// public static Output Invoke(GetUpdateWindowsInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getUpdateWindows:getUpdateWindows", args ?? new GetUpdateWindowsInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.UpdateWindows` data source allows the OneAgent update maintenance window ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the OneAgent update maintenance window + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetUpdateWindows.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getUpdateWindowsResult => getUpdateWindowsResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetUpdateWindowsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getUpdateWindows:getUpdateWindows", args ?? new GetUpdateWindowsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVulnerabilityAlerting.cs b/sdk/dotnet/GetVulnerabilityAlerting.cs index 61629d0c..fc772542 100644 --- a/sdk/dotnet/GetVulnerabilityAlerting.cs +++ b/sdk/dotnet/GetVulnerabilityAlerting.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetVulnerabilityA /// public static Output Invoke(GetVulnerabilityAlertingInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting", args ?? new GetVulnerabilityAlertingInvokeArgs(), options.WithDefaults()); + + /// + /// The `dynatrace.VulnerabilityAlerting` data source allows the vulnerability alerting profile ID to be retrieved by its name. + /// + /// - `name` (String) - The name of the vulnerability alerting profile + /// + /// If multiple services match the given criteria, the first result will be retrieved. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Dynatrace = Pulumi.Dynatrace; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Dynatrace.GetVulnerabilityAlerting.Invoke(new() + /// { + /// Name = "Terraform Example", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getVulnerabilityAlertingResult => getVulnerabilityAlertingResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetVulnerabilityAlertingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting", args ?? new GetVulnerabilityAlertingInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GitlabConnection.cs b/sdk/dotnet/GitlabConnection.cs new file mode 100644 index 00000000..cdaccba8 --- /dev/null +++ b/sdk/dotnet/GitlabConnection.cs @@ -0,0 +1,154 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/gitlabConnection:GitlabConnection")] + public partial class GitlabConnection : global::Pulumi.CustomResource + { + /// + /// A unique and clearly identifiable connection name to your GitLab instance. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + /// + [Output("token")] + public Output Token { get; private set; } = null!; + + /// + /// The GitLab URL instance you want to connect. For example, https://gitlab.com + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a GitlabConnection 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 GitlabConnection(string name, GitlabConnectionArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/gitlabConnection:GitlabConnection", name, args ?? new GitlabConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private GitlabConnection(string name, Input id, GitlabConnectionState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/gitlabConnection:GitlabConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "token", + }, + }; + 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 GitlabConnection 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 GitlabConnection Get(string name, Input id, GitlabConnectionState? state = null, CustomResourceOptions? options = null) + { + return new GitlabConnection(name, id, state, options); + } + } + + public sealed class GitlabConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name to your GitLab instance. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token", required: true)] + private Input? _token; + + /// + /// The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The GitLab URL instance you want to connect. For example, https://gitlab.com + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public GitlabConnectionArgs() + { + } + public static new GitlabConnectionArgs Empty => new GitlabConnectionArgs(); + } + + public sealed class GitlabConnectionState : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name to your GitLab instance. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The GitLab URL instance you want to connect. For example, https://gitlab.com + /// + [Input("url")] + public Input? Url { get; set; } + + public GitlabConnectionState() + { + } + public static new GitlabConnectionState Empty => new GitlabConnectionState(); + } +} diff --git a/sdk/dotnet/InfraopsAppSettings.cs b/sdk/dotnet/InfraopsAppSettings.cs index 6b3e0705..f8eca5b5 100644 --- a/sdk/dotnet/InfraopsAppSettings.cs +++ b/sdk/dotnet/InfraopsAppSettings.cs @@ -13,6 +13,12 @@ namespace Pulumiverse.Dynatrace [DynatraceResourceType("dynatrace:index/infraopsAppSettings:InfraopsAppSettings")] public partial class InfraopsAppSettings : global::Pulumi.CustomResource { + /// + /// (Required v305+) The threshold at which a network device interface is deemed to be saturated. + /// + [Output("interfaceSaturationThreshold")] + public Output InterfaceSaturationThreshold { get; private set; } = null!; + /// /// When set to true, the app will display monitoring candidates in the Hosts table /// @@ -72,6 +78,12 @@ public static InfraopsAppSettings Get(string name, Input id, InfraopsApp public sealed class InfraopsAppSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// (Required v305+) The threshold at which a network device interface is deemed to be saturated. + /// + [Input("interfaceSaturationThreshold")] + public Input? InterfaceSaturationThreshold { get; set; } + /// /// When set to true, the app will display monitoring candidates in the Hosts table /// @@ -92,6 +104,12 @@ public InfraopsAppSettingsArgs() public sealed class InfraopsAppSettingsState : global::Pulumi.ResourceArgs { + /// + /// (Required v305+) The threshold at which a network device interface is deemed to be saturated. + /// + [Input("interfaceSaturationThreshold")] + public Input? InterfaceSaturationThreshold { get; set; } + /// /// When set to true, the app will display monitoring candidates in the Hosts table /// diff --git a/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderArgs.cs b/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderArgs.cs index 16716ae8..fbf9bf38 100644 --- a/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderArgs.cs +++ b/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderArgs.cs @@ -64,6 +64,12 @@ public sealed class CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceh [Input("normalization")] public Input? Normalization { get; set; } + /// + /// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + /// + [Input("oneagentAttributeKey")] + public Input? OneagentAttributeKey { get; set; } + /// /// The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise /// diff --git a/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderGetArgs.cs b/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderGetArgs.cs index cfe79ef1..d5b38a2d 100644 --- a/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderGetArgs.cs +++ b/sdk/dotnet/Inputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderGetArgs.cs @@ -64,6 +64,12 @@ public sealed class CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceh [Input("normalization")] public Input? Normalization { get; set; } + /// + /// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + /// + [Input("oneagentAttributeKey")] + public Input? OneagentAttributeKey { get; set; } + /// /// The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise /// diff --git a/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsArgs.cs b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsArgs.cs new file mode 100644 index 00000000..3364b58e --- /dev/null +++ b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsArgs.cs @@ -0,0 +1,29 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Inputs +{ + + public sealed class DefaultLaunchpadGroupLaunchpadsArgs : global::Pulumi.ResourceArgs + { + [Input("groupLaunchpads", required: true)] + private InputList? _groupLaunchpads; + public InputList GroupLaunchpads + { + get => _groupLaunchpads ?? (_groupLaunchpads = new InputList()); + set => _groupLaunchpads = value; + } + + public DefaultLaunchpadGroupLaunchpadsArgs() + { + } + public static new DefaultLaunchpadGroupLaunchpadsArgs Empty => new DefaultLaunchpadGroupLaunchpadsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGetArgs.cs b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGetArgs.cs new file mode 100644 index 00000000..c93d3b86 --- /dev/null +++ b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Inputs +{ + + public sealed class DefaultLaunchpadGroupLaunchpadsGetArgs : global::Pulumi.ResourceArgs + { + [Input("groupLaunchpads", required: true)] + private InputList? _groupLaunchpads; + public InputList GroupLaunchpads + { + get => _groupLaunchpads ?? (_groupLaunchpads = new InputList()); + set => _groupLaunchpads = value; + } + + public DefaultLaunchpadGroupLaunchpadsGetArgs() + { + } + public static new DefaultLaunchpadGroupLaunchpadsGetArgs Empty => new DefaultLaunchpadGroupLaunchpadsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs.cs b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs.cs new file mode 100644 index 00000000..14060f55 --- /dev/null +++ b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs.cs @@ -0,0 +1,39 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Inputs +{ + + public sealed class DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs : global::Pulumi.ResourceArgs + { + /// + /// State + /// + [Input("isEnabled", required: true)] + public Input IsEnabled { get; set; } = null!; + + /// + /// Launchpad + /// + [Input("launchpadId", required: true)] + public Input LaunchpadId { get; set; } = null!; + + /// + /// User Group + /// + [Input("userGroupId", required: true)] + public Input UserGroupId { get; set; } = null!; + + public DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs() + { + } + public static new DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs Empty => new DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs.cs b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs.cs new file mode 100644 index 00000000..fb13f687 --- /dev/null +++ b/sdk/dotnet/Inputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs.cs @@ -0,0 +1,39 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Inputs +{ + + public sealed class DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs : global::Pulumi.ResourceArgs + { + /// + /// State + /// + [Input("isEnabled", required: true)] + public Input IsEnabled { get; set; } = null!; + + /// + /// Launchpad + /// + [Input("launchpadId", required: true)] + public Input LaunchpadId { get; set; } = null!; + + /// + /// User Group + /// + [Input("userGroupId", required: true)] + public Input UserGroupId { get; set; } = null!; + + public DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs() + { + } + public static new DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs Empty => new DefaultLaunchpadGroupLaunchpadsGroupLaunchpadGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleArgs.cs b/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleArgs.cs index 443bcc1f..d0a16904 100644 --- a/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleArgs.cs +++ b/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleArgs.cs @@ -16,8 +16,8 @@ public sealed class KubernetesEnrichmentRulesRuleArgs : global::Pulumi.ResourceA /// /// This setting is enabled (`true`) or disabled (`false`) /// - [Input("enabled", required: true)] - public Input Enabled { get; set; } = null!; + [Input("enabled")] + public Input? Enabled { get; set; } /// /// The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). diff --git a/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleGetArgs.cs b/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleGetArgs.cs index f2ebb4a0..e0f9a220 100644 --- a/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleGetArgs.cs +++ b/sdk/dotnet/Inputs/KubernetesEnrichmentRulesRuleGetArgs.cs @@ -16,8 +16,8 @@ public sealed class KubernetesEnrichmentRulesRuleGetArgs : global::Pulumi.Resour /// /// This setting is enabled (`true`) or disabled (`false`) /// - [Input("enabled", required: true)] - public Input Enabled { get; set; } = null!; + [Input("enabled")] + public Input? Enabled { get; set; } /// /// The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). diff --git a/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderArgs.cs b/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderArgs.cs index 4a1319f7..54bfbad1 100644 --- a/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderArgs.cs +++ b/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderArgs.cs @@ -64,6 +64,12 @@ public sealed class RequestNamingPlaceholdersPlaceholderArgs : global::Pulumi.Re [Input("normalization")] public Input? Normalization { get; set; } + /// + /// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + /// + [Input("oneagentAttributeKey")] + public Input? OneagentAttributeKey { get; set; } + /// /// The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise /// diff --git a/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderGetArgs.cs b/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderGetArgs.cs index 7508c15b..0f558ddf 100644 --- a/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderGetArgs.cs +++ b/sdk/dotnet/Inputs/RequestNamingPlaceholdersPlaceholderGetArgs.cs @@ -64,6 +64,12 @@ public sealed class RequestNamingPlaceholdersPlaceholderGetArgs : global::Pulumi [Input("normalization")] public Input? Normalization { get; set; } + /// + /// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + /// + [Input("oneagentAttributeKey")] + public Input? OneagentAttributeKey { get; set; } + /// /// The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise /// diff --git a/sdk/dotnet/JenkinsConnection.cs b/sdk/dotnet/JenkinsConnection.cs new file mode 100644 index 00000000..1602546a --- /dev/null +++ b/sdk/dotnet/JenkinsConnection.cs @@ -0,0 +1,172 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/jenkinsConnection:JenkinsConnection")] + public partial class JenkinsConnection : global::Pulumi.CustomResource + { + /// + /// The name of the Jenkins connection + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + /// + /// The name of your Jenkins user (e.g. jenkins) + /// + [Output("username")] + public Output Username { get; private set; } = null!; + + + /// + /// Create a JenkinsConnection 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 JenkinsConnection(string name, JenkinsConnectionArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/jenkinsConnection:JenkinsConnection", name, args ?? new JenkinsConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private JenkinsConnection(string name, Input id, JenkinsConnectionState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/jenkinsConnection:JenkinsConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "password", + }, + }; + 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 JenkinsConnection 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 JenkinsConnection Get(string name, Input id, JenkinsConnectionState? state = null, CustomResourceOptions? options = null) + { + return new JenkinsConnection(name, id, state, options); + } + } + + public sealed class JenkinsConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the Jenkins connection + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password", required: true)] + private Input? _password; + + /// + /// The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + /// + /// The name of your Jenkins user (e.g. jenkins) + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public JenkinsConnectionArgs() + { + } + public static new JenkinsConnectionArgs Empty => new JenkinsConnectionArgs(); + } + + public sealed class JenkinsConnectionState : global::Pulumi.ResourceArgs + { + /// + /// The name of the Jenkins connection + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + /// + [Input("url")] + public Input? Url { get; set; } + + /// + /// The name of your Jenkins user (e.g. jenkins) + /// + [Input("username")] + public Input? Username { get; set; } + + public JenkinsConnectionState() + { + } + public static new JenkinsConnectionState Empty => new JenkinsConnectionState(); + } +} diff --git a/sdk/dotnet/LogCustomAttribute.cs b/sdk/dotnet/LogCustomAttribute.cs index aa15d46e..a5477b9c 100644 --- a/sdk/dotnet/LogCustomAttribute.cs +++ b/sdk/dotnet/LogCustomAttribute.cs @@ -14,7 +14,7 @@ namespace Pulumiverse.Dynatrace public partial class LogCustomAttribute : global::Pulumi.CustomResource { /// - /// The attribute key is case insensitive in log data ingestion. + /// The attribute key is case sensitive in log data ingestion. /// [Output("key")] public Output Key { get; private set; } = null!; @@ -73,7 +73,7 @@ public static LogCustomAttribute Get(string name, Input id, LogCustomAtt public sealed class LogCustomAttributeArgs : global::Pulumi.ResourceArgs { /// - /// The attribute key is case insensitive in log data ingestion. + /// The attribute key is case sensitive in log data ingestion. /// [Input("key", required: true)] public Input Key { get; set; } = null!; @@ -93,7 +93,7 @@ public LogCustomAttributeArgs() public sealed class LogCustomAttributeState : global::Pulumi.ResourceArgs { /// - /// The attribute key is case insensitive in log data ingestion. + /// The attribute key is case sensitive in log data ingestion. /// [Input("key")] public Input? Key { get; set; } diff --git a/sdk/dotnet/MsentraidConnection.cs b/sdk/dotnet/MsentraidConnection.cs new file mode 100644 index 00000000..8d25ee14 --- /dev/null +++ b/sdk/dotnet/MsentraidConnection.cs @@ -0,0 +1,232 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/msentraidConnection:MsentraidConnection")] + public partial class MsentraidConnection : global::Pulumi.CustomResource + { + /// + /// Application (client) ID of your app registered in Microsoft Azure App registrations + /// + [Output("applicationId")] + public Output ApplicationId { get; private set; } = null!; + + /// + /// Client secret of your app registered in Microsoft Azure App registrations + /// + [Output("clientSecret")] + public Output ClientSecret { get; private set; } = null!; + + /// + /// Description + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Directory (tenant) ID of Microsoft Entra Identity Developer + /// + [Output("directoryId")] + public Output DirectoryId { get; private set; } = null!; + + /// + /// The name of the Microsoft Entra Identity Developer connection + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a MsentraidConnection 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 MsentraidConnection(string name, MsentraidConnectionArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/msentraidConnection:MsentraidConnection", name, args ?? new MsentraidConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private MsentraidConnection(string name, Input id, MsentraidConnectionState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/msentraidConnection:MsentraidConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "applicationId", + "clientSecret", + "directoryId", + }, + }; + 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 MsentraidConnection 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 MsentraidConnection Get(string name, Input id, MsentraidConnectionState? state = null, CustomResourceOptions? options = null) + { + return new MsentraidConnection(name, id, state, options); + } + } + + public sealed class MsentraidConnectionArgs : global::Pulumi.ResourceArgs + { + [Input("applicationId", required: true)] + private Input? _applicationId; + + /// + /// Application (client) ID of your app registered in Microsoft Azure App registrations + /// + public Input? ApplicationId + { + get => _applicationId; + set + { + var emptySecret = Output.CreateSecret(0); + _applicationId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// Client secret of your app registered in Microsoft Azure App registrations + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Description + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("directoryId", required: true)] + private Input? _directoryId; + + /// + /// Directory (tenant) ID of Microsoft Entra Identity Developer + /// + public Input? DirectoryId + { + get => _directoryId; + set + { + var emptySecret = Output.CreateSecret(0); + _directoryId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The name of the Microsoft Entra Identity Developer connection + /// + [Input("name")] + public Input? Name { get; set; } + + public MsentraidConnectionArgs() + { + } + public static new MsentraidConnectionArgs Empty => new MsentraidConnectionArgs(); + } + + public sealed class MsentraidConnectionState : global::Pulumi.ResourceArgs + { + [Input("applicationId")] + private Input? _applicationId; + + /// + /// Application (client) ID of your app registered in Microsoft Azure App registrations + /// + public Input? ApplicationId + { + get => _applicationId; + set + { + var emptySecret = Output.CreateSecret(0); + _applicationId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("clientSecret")] + private Input? _clientSecret; + + /// + /// Client secret of your app registered in Microsoft Azure App registrations + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Description + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("directoryId")] + private Input? _directoryId; + + /// + /// Directory (tenant) ID of Microsoft Entra Identity Developer + /// + public Input? DirectoryId + { + get => _directoryId; + set + { + var emptySecret = Output.CreateSecret(0); + _directoryId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The name of the Microsoft Entra Identity Developer connection + /// + [Input("name")] + public Input? Name { get; set; } + + public MsentraidConnectionState() + { + } + public static new MsentraidConnectionState Empty => new MsentraidConnectionState(); + } +} diff --git a/sdk/dotnet/MsteamsConnection.cs b/sdk/dotnet/MsteamsConnection.cs new file mode 100644 index 00000000..69729fe3 --- /dev/null +++ b/sdk/dotnet/MsteamsConnection.cs @@ -0,0 +1,172 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/msteamsConnection:MsteamsConnection")] + public partial class MsteamsConnection : global::Pulumi.CustomResource + { + /// + /// Optional + /// + [Output("channelName")] + public Output ChannelName { get; private set; } = null!; + + /// + /// The name of the Microsoft Teams connection + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Optional + /// + [Output("teamName")] + public Output TeamName { get; private set; } = null!; + + /// + /// The Webhook URL that links to the channel + /// + [Output("webhook")] + public Output Webhook { get; private set; } = null!; + + + /// + /// Create a MsteamsConnection 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 MsteamsConnection(string name, MsteamsConnectionArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/msteamsConnection:MsteamsConnection", name, args ?? new MsteamsConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private MsteamsConnection(string name, Input id, MsteamsConnectionState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/msteamsConnection:MsteamsConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "webhook", + }, + }; + 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 MsteamsConnection 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 MsteamsConnection Get(string name, Input id, MsteamsConnectionState? state = null, CustomResourceOptions? options = null) + { + return new MsteamsConnection(name, id, state, options); + } + } + + public sealed class MsteamsConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional + /// + [Input("channelName")] + public Input? ChannelName { get; set; } + + /// + /// The name of the Microsoft Teams connection + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Optional + /// + [Input("teamName")] + public Input? TeamName { get; set; } + + [Input("webhook", required: true)] + private Input? _webhook; + + /// + /// The Webhook URL that links to the channel + /// + public Input? Webhook + { + get => _webhook; + set + { + var emptySecret = Output.CreateSecret(0); + _webhook = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public MsteamsConnectionArgs() + { + } + public static new MsteamsConnectionArgs Empty => new MsteamsConnectionArgs(); + } + + public sealed class MsteamsConnectionState : global::Pulumi.ResourceArgs + { + /// + /// Optional + /// + [Input("channelName")] + public Input? ChannelName { get; set; } + + /// + /// The name of the Microsoft Teams connection + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Optional + /// + [Input("teamName")] + public Input? TeamName { get; set; } + + [Input("webhook")] + private Input? _webhook; + + /// + /// The Webhook URL that links to the channel + /// + public Input? Webhook + { + get => _webhook; + set + { + var emptySecret = Output.CreateSecret(0); + _webhook = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public MsteamsConnectionState() + { + } + public static new MsteamsConnectionState Empty => new MsteamsConnectionState(); + } +} diff --git a/sdk/dotnet/Outputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder.cs b/sdk/dotnet/Outputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder.cs index 2cf5787a..282c8c49 100644 --- a/sdk/dotnet/Outputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder.cs +++ b/sdk/dotnet/Outputs/CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder.cs @@ -52,6 +52,10 @@ public sealed class CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceh /// public readonly string? Normalization; /// + /// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + /// + public readonly string? OneagentAttributeKey; + /// /// The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise /// public readonly string? RequestAttribute; @@ -84,6 +88,8 @@ private CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder( string? normalization, + string? oneagentAttributeKey, + string? requestAttribute, Outputs.CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderSource? source, @@ -99,6 +105,7 @@ private CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder( Kind = kind; Name = name; Normalization = normalization; + OneagentAttributeKey = oneagentAttributeKey; RequestAttribute = requestAttribute; Source = source; Unknowns = unknowns; diff --git a/sdk/dotnet/Outputs/DefaultLaunchpadGroupLaunchpads.cs b/sdk/dotnet/Outputs/DefaultLaunchpadGroupLaunchpads.cs new file mode 100644 index 00000000..72aa5ee8 --- /dev/null +++ b/sdk/dotnet/Outputs/DefaultLaunchpadGroupLaunchpads.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Outputs +{ + + [OutputType] + public sealed class DefaultLaunchpadGroupLaunchpads + { + public readonly ImmutableArray GroupLaunchpads; + + [OutputConstructor] + private DefaultLaunchpadGroupLaunchpads(ImmutableArray groupLaunchpads) + { + GroupLaunchpads = groupLaunchpads; + } + } +} diff --git a/sdk/dotnet/Outputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpad.cs b/sdk/dotnet/Outputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpad.cs new file mode 100644 index 00000000..eaa3e249 --- /dev/null +++ b/sdk/dotnet/Outputs/DefaultLaunchpadGroupLaunchpadsGroupLaunchpad.cs @@ -0,0 +1,43 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Outputs +{ + + [OutputType] + public sealed class DefaultLaunchpadGroupLaunchpadsGroupLaunchpad + { + /// + /// State + /// + public readonly bool IsEnabled; + /// + /// Launchpad + /// + public readonly string LaunchpadId; + /// + /// User Group + /// + public readonly string UserGroupId; + + [OutputConstructor] + private DefaultLaunchpadGroupLaunchpadsGroupLaunchpad( + bool isEnabled, + + string launchpadId, + + string userGroupId) + { + IsEnabled = isEnabled; + LaunchpadId = launchpadId; + UserGroupId = userGroupId; + } + } +} diff --git a/sdk/dotnet/Outputs/GetGeoCitiesCityResult.cs b/sdk/dotnet/Outputs/GetGeoCitiesCityResult.cs new file mode 100644 index 00000000..0a84644a --- /dev/null +++ b/sdk/dotnet/Outputs/GetGeoCitiesCityResult.cs @@ -0,0 +1,34 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Outputs +{ + + [OutputType] + public sealed class GetGeoCitiesCityResult + { + public readonly double Latitude; + public readonly double Longitude; + public readonly string Name; + + [OutputConstructor] + private GetGeoCitiesCityResult( + double latitude, + + double longitude, + + string name) + { + Latitude = latitude; + Longitude = longitude; + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/GetGeoCountriesCountryResult.cs b/sdk/dotnet/Outputs/GetGeoCountriesCountryResult.cs new file mode 100644 index 00000000..a5d71489 --- /dev/null +++ b/sdk/dotnet/Outputs/GetGeoCountriesCountryResult.cs @@ -0,0 +1,30 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Outputs +{ + + [OutputType] + public sealed class GetGeoCountriesCountryResult + { + public readonly string Code; + public readonly string Name; + + [OutputConstructor] + private GetGeoCountriesCountryResult( + string code, + + string name) + { + Code = code; + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/GetGeoRegionsRegionResult.cs b/sdk/dotnet/Outputs/GetGeoRegionsRegionResult.cs new file mode 100644 index 00000000..cdaad0db --- /dev/null +++ b/sdk/dotnet/Outputs/GetGeoRegionsRegionResult.cs @@ -0,0 +1,30 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace.Outputs +{ + + [OutputType] + public sealed class GetGeoRegionsRegionResult + { + public readonly string Code; + public readonly string Name; + + [OutputConstructor] + private GetGeoRegionsRegionResult( + string code, + + string name) + { + Code = code; + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/KubernetesEnrichmentRulesRule.cs b/sdk/dotnet/Outputs/KubernetesEnrichmentRulesRule.cs index 7581e10a..c66a26a7 100644 --- a/sdk/dotnet/Outputs/KubernetesEnrichmentRulesRule.cs +++ b/sdk/dotnet/Outputs/KubernetesEnrichmentRulesRule.cs @@ -17,7 +17,7 @@ public sealed class KubernetesEnrichmentRulesRule /// /// This setting is enabled (`true`) or disabled (`false`) /// - public readonly bool Enabled; + public readonly bool? Enabled; /// /// The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). /// @@ -33,7 +33,7 @@ public sealed class KubernetesEnrichmentRulesRule [OutputConstructor] private KubernetesEnrichmentRulesRule( - bool enabled, + bool? enabled, string source, diff --git a/sdk/dotnet/Outputs/RequestNamingPlaceholdersPlaceholder.cs b/sdk/dotnet/Outputs/RequestNamingPlaceholdersPlaceholder.cs index 758bf91b..54ee172a 100644 --- a/sdk/dotnet/Outputs/RequestNamingPlaceholdersPlaceholder.cs +++ b/sdk/dotnet/Outputs/RequestNamingPlaceholdersPlaceholder.cs @@ -52,6 +52,10 @@ public sealed class RequestNamingPlaceholdersPlaceholder /// public readonly string? Normalization; /// + /// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + /// + public readonly string? OneagentAttributeKey; + /// /// The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise /// public readonly string? RequestAttribute; @@ -84,6 +88,8 @@ private RequestNamingPlaceholdersPlaceholder( string? normalization, + string? oneagentAttributeKey, + string? requestAttribute, Outputs.RequestNamingPlaceholdersPlaceholderSource? source, @@ -99,6 +105,7 @@ private RequestNamingPlaceholdersPlaceholder( Kind = kind; Name = name; Normalization = normalization; + OneagentAttributeKey = oneagentAttributeKey; RequestAttribute = requestAttribute; Source = source; Unknowns = unknowns; diff --git a/sdk/dotnet/PagerdutyConnection.cs b/sdk/dotnet/PagerdutyConnection.cs new file mode 100644 index 00000000..d4d1b84b --- /dev/null +++ b/sdk/dotnet/PagerdutyConnection.cs @@ -0,0 +1,154 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/pagerdutyConnection:PagerdutyConnection")] + public partial class PagerdutyConnection : global::Pulumi.CustomResource + { + /// + /// The name of the PagerDuty connection + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Token for the PagerDuty API endpoint + /// + [Output("token")] + public Output Token { get; private set; } = null!; + + /// + /// URL of the PagerDuty API endpoint + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a PagerdutyConnection 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 PagerdutyConnection(string name, PagerdutyConnectionArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/pagerdutyConnection:PagerdutyConnection", name, args ?? new PagerdutyConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private PagerdutyConnection(string name, Input id, PagerdutyConnectionState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/pagerdutyConnection:PagerdutyConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "token", + }, + }; + 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 PagerdutyConnection 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 PagerdutyConnection Get(string name, Input id, PagerdutyConnectionState? state = null, CustomResourceOptions? options = null) + { + return new PagerdutyConnection(name, id, state, options); + } + } + + public sealed class PagerdutyConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the PagerDuty connection + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token", required: true)] + private Input? _token; + + /// + /// Token for the PagerDuty API endpoint + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// URL of the PagerDuty API endpoint + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public PagerdutyConnectionArgs() + { + } + public static new PagerdutyConnectionArgs Empty => new PagerdutyConnectionArgs(); + } + + public sealed class PagerdutyConnectionState : global::Pulumi.ResourceArgs + { + /// + /// The name of the PagerDuty connection + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// Token for the PagerDuty API endpoint + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// URL of the PagerDuty API endpoint + /// + [Input("url")] + public Input? Url { get; set; } + + public PagerdutyConnectionState() + { + } + public static new PagerdutyConnectionState Empty => new PagerdutyConnectionState(); + } +} diff --git a/sdk/dotnet/ProblemFields.cs b/sdk/dotnet/ProblemFields.cs new file mode 100644 index 00000000..b3885657 --- /dev/null +++ b/sdk/dotnet/ProblemFields.cs @@ -0,0 +1,130 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/problemFields:ProblemFields")] + public partial class ProblemFields : global::Pulumi.CustomResource + { + /// + /// This setting is enabled (`true`) or disabled (`false`) + /// + [Output("enabled")] + public Output Enabled { get; private set; } = null!; + + /// + /// Field from the event that will be extracted. + /// + [Output("eventField")] + public Output EventField { get; private set; } = null!; + + /// + /// Field under which the extracted event data will be stored on the problem. + /// + [Output("problemField")] + public Output ProblemField { get; private set; } = null!; + + + /// + /// Create a ProblemFields 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 ProblemFields(string name, ProblemFieldsArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/problemFields:ProblemFields", name, args ?? new ProblemFieldsArgs(), MakeResourceOptions(options, "")) + { + } + + private ProblemFields(string name, Input id, ProblemFieldsState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/problemFields:ProblemFields", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + }; + 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 ProblemFields 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 ProblemFields Get(string name, Input id, ProblemFieldsState? state = null, CustomResourceOptions? options = null) + { + return new ProblemFields(name, id, state, options); + } + } + + public sealed class ProblemFieldsArgs : global::Pulumi.ResourceArgs + { + /// + /// This setting is enabled (`true`) or disabled (`false`) + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Field from the event that will be extracted. + /// + [Input("eventField", required: true)] + public Input EventField { get; set; } = null!; + + /// + /// Field under which the extracted event data will be stored on the problem. + /// + [Input("problemField", required: true)] + public Input ProblemField { get; set; } = null!; + + public ProblemFieldsArgs() + { + } + public static new ProblemFieldsArgs Empty => new ProblemFieldsArgs(); + } + + public sealed class ProblemFieldsState : global::Pulumi.ResourceArgs + { + /// + /// This setting is enabled (`true`) or disabled (`false`) + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Field from the event that will be extracted. + /// + [Input("eventField")] + public Input? EventField { get; set; } + + /// + /// Field under which the extracted event data will be stored on the problem. + /// + [Input("problemField")] + public Input? ProblemField { get; set; } + + public ProblemFieldsState() + { + } + public static new ProblemFieldsState Empty => new ProblemFieldsState(); + } +} diff --git a/sdk/dotnet/ProcessGroupDetectionFlags.cs b/sdk/dotnet/ProcessGroupDetectionFlags.cs index 89d86533..79880c72 100644 --- a/sdk/dotnet/ProcessGroupDetectionFlags.cs +++ b/sdk/dotnet/ProcessGroupDetectionFlags.cs @@ -79,6 +79,12 @@ public partial class ProcessGroupDetectionFlags : global::Pulumi.CustomResource [Output("scope")] public Output Scope { get; private set; } = null!; + /// + /// This flag enables the detection of security software such as anti-malware protection. + /// + [Output("securitySoftwareDetectionEnabled")] + public Output SecuritySoftwareDetectionEnabled { get; private set; } = null!; + /// /// Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. /// @@ -222,6 +228,12 @@ public sealed class ProcessGroupDetectionFlagsArgs : global::Pulumi.ResourceArgs [Input("scope")] public Input? Scope { get; set; } + /// + /// This flag enables the detection of security software such as anti-malware protection. + /// + [Input("securitySoftwareDetectionEnabled")] + public Input? SecuritySoftwareDetectionEnabled { get; set; } + /// /// Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. /// @@ -326,6 +338,12 @@ public sealed class ProcessGroupDetectionFlagsState : global::Pulumi.ResourceArg [Input("scope")] public Input? Scope { get; set; } + /// + /// This flag enables the detection of security software such as anti-malware protection. + /// + [Input("securitySoftwareDetectionEnabled")] + public Input? SecuritySoftwareDetectionEnabled { get; set; } + /// /// Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. /// diff --git a/sdk/dotnet/ServicenowConnection.cs b/sdk/dotnet/ServicenowConnection.cs new file mode 100644 index 00000000..c68706c0 --- /dev/null +++ b/sdk/dotnet/ServicenowConnection.cs @@ -0,0 +1,190 @@ +// *** 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; +using Pulumi; + +namespace Pulumiverse.Dynatrace +{ + [DynatraceResourceType("dynatrace:index/servicenowConnection:ServicenowConnection")] + public partial class ServicenowConnection : global::Pulumi.CustomResource + { + /// + /// A unique and clearly identifiable connection name to your ServiceNow instance. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Password of the ServiceNow user. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// Possible Values: `basic` + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// URL of the ServiceNow instance. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + /// + /// Username or Email address. + /// + [Output("user")] + public Output User { get; private set; } = null!; + + + /// + /// Create a ServicenowConnection 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 ServicenowConnection(string name, ServicenowConnectionArgs args, CustomResourceOptions? options = null) + : base("dynatrace:index/servicenowConnection:ServicenowConnection", name, args ?? new ServicenowConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private ServicenowConnection(string name, Input id, ServicenowConnectionState? state = null, CustomResourceOptions? options = null) + : base("dynatrace:index/servicenowConnection:ServicenowConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "password", + }, + }; + 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 ServicenowConnection 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 ServicenowConnection Get(string name, Input id, ServicenowConnectionState? state = null, CustomResourceOptions? options = null) + { + return new ServicenowConnection(name, id, state, options); + } + } + + public sealed class ServicenowConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name to your ServiceNow instance. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password of the ServiceNow user. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Possible Values: `basic` + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// URL of the ServiceNow instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + /// + /// Username or Email address. + /// + [Input("user")] + public Input? User { get; set; } + + public ServicenowConnectionArgs() + { + } + public static new ServicenowConnectionArgs Empty => new ServicenowConnectionArgs(); + } + + public sealed class ServicenowConnectionState : global::Pulumi.ResourceArgs + { + /// + /// A unique and clearly identifiable connection name to your ServiceNow instance. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password of the ServiceNow user. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Possible Values: `basic` + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// URL of the ServiceNow instance. + /// + [Input("url")] + public Input? Url { get; set; } + + /// + /// Username or Email address. + /// + [Input("user")] + public Input? User { get; set; } + + public ServicenowConnectionState() + { + } + public static new ServicenowConnectionState Empty => new ServicenowConnectionState(); + } +} diff --git a/sdk/dotnet/SyntheticLocation.cs b/sdk/dotnet/SyntheticLocation.cs index 534d1434..c4c58068 100644 --- a/sdk/dotnet/SyntheticLocation.cs +++ b/sdk/dotnet/SyntheticLocation.cs @@ -44,8 +44,8 @@ public partial class SyntheticLocation : global::Pulumi.CustomResource public Output City { get; private set; } = null!; /// - /// The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - /// example, `AT` for Austria or `PL` for Poland) + /// The country code of the location. To fetch the list of available country codes, use the [GET all + /// countries](https://dt-url.net/37030go) request /// [Output("countryCode")] public Output CountryCode { get; private set; } = null!; @@ -108,9 +108,8 @@ public partial class SyntheticLocation : global::Pulumi.CustomResource public Output> Nodes { get; private set; } = null!; /// - /// The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - /// use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - /// rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + /// The region code of the location. To fetch the list of available region codes, use the [GET regions of the + /// country](https://dt-url.net/az230x0) request /// [Output("regionCode")] public Output RegionCode { get; private set; } = null!; @@ -193,8 +192,8 @@ public sealed class SyntheticLocationArgs : global::Pulumi.ResourceArgs public Input? City { get; set; } /// - /// The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - /// example, `AT` for Austria or `PL` for Poland) + /// The country code of the location. To fetch the list of available country codes, use the [GET all + /// countries](https://dt-url.net/37030go) request /// [Input("countryCode")] public Input? CountryCode { get; set; } @@ -263,9 +262,8 @@ public InputList Nodes } /// - /// The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - /// use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - /// rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + /// The region code of the location. To fetch the list of available region codes, use the [GET regions of the + /// country](https://dt-url.net/az230x0) request /// [Input("regionCode")] public Input? RegionCode { get; set; } @@ -309,8 +307,8 @@ public sealed class SyntheticLocationState : global::Pulumi.ResourceArgs public Input? City { get; set; } /// - /// The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - /// example, `AT` for Austria or `PL` for Poland) + /// The country code of the location. To fetch the list of available country codes, use the [GET all + /// countries](https://dt-url.net/37030go) request /// [Input("countryCode")] public Input? CountryCode { get; set; } @@ -379,9 +377,8 @@ public InputList Nodes } /// - /// The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - /// use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - /// rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + /// The region code of the location. To fetch the list of available region codes, use the [GET regions of the + /// country](https://dt-url.net/az230x0) request /// [Input("regionCode")] public Input? RegionCode { get; set; } diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs index 5229b470..a9771ef9 100644 --- a/sdk/dotnet/Utilities.cs +++ b/sdk/dotnet/Utilities.cs @@ -57,6 +57,14 @@ static class Utilities return dst; } + public static global::Pulumi.InvokeOutputOptions WithDefaults(this global::Pulumi.InvokeOutputOptions? src) + { + var dst = src ?? new global::Pulumi.InvokeOutputOptions{}; + dst.Version = src?.Version ?? Version; + dst.PluginDownloadURL = src?.PluginDownloadURL ?? "github://api.github.com/pulumiverse"; + return dst; + } + private readonly static string version; public static string Version => version; diff --git a/sdk/go/dynatrace/automationControllerConnections.go b/sdk/go/dynatrace/automationControllerConnections.go new file mode 100644 index 00000000..edadc647 --- /dev/null +++ b/sdk/go/dynatrace/automationControllerConnections.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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type AutomationControllerConnections struct { + pulumi.CustomResourceState + + // A unique and clearly identifiable connection name. + Name pulumi.StringOutput `pulumi:"name"` + // API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrOutput `pulumi:"token"` + // Possible Values: `Api_token` + Type pulumi.StringOutput `pulumi:"type"` + // URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewAutomationControllerConnections registers a new resource with the given unique name, arguments, and options. +func NewAutomationControllerConnections(ctx *pulumi.Context, + name string, args *AutomationControllerConnectionsArgs, opts ...pulumi.ResourceOption) (*AutomationControllerConnections, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource AutomationControllerConnections + err := ctx.RegisterResource("dynatrace:index/automationControllerConnections:AutomationControllerConnections", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAutomationControllerConnections gets an existing AutomationControllerConnections 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 GetAutomationControllerConnections(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AutomationControllerConnectionsState, opts ...pulumi.ResourceOption) (*AutomationControllerConnections, error) { + var resource AutomationControllerConnections + err := ctx.ReadResource("dynatrace:index/automationControllerConnections:AutomationControllerConnections", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AutomationControllerConnections resources. +type automationControllerConnectionsState struct { + // A unique and clearly identifiable connection name. + Name *string `pulumi:"name"` + // API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + Token *string `pulumi:"token"` + // Possible Values: `Api_token` + Type *string `pulumi:"type"` + // URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + Url *string `pulumi:"url"` +} + +type AutomationControllerConnectionsState struct { + // A unique and clearly identifiable connection name. + Name pulumi.StringPtrInput + // API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrInput + // Possible Values: `Api_token` + Type pulumi.StringPtrInput + // URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + Url pulumi.StringPtrInput +} + +func (AutomationControllerConnectionsState) ElementType() reflect.Type { + return reflect.TypeOf((*automationControllerConnectionsState)(nil)).Elem() +} + +type automationControllerConnectionsArgs struct { + // A unique and clearly identifiable connection name. + Name *string `pulumi:"name"` + // API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + Token *string `pulumi:"token"` + // Possible Values: `Api_token` + Type string `pulumi:"type"` + // URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a AutomationControllerConnections resource. +type AutomationControllerConnectionsArgs struct { + // A unique and clearly identifiable connection name. + Name pulumi.StringPtrInput + // API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrInput + // Possible Values: `Api_token` + Type pulumi.StringInput + // URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + Url pulumi.StringInput +} + +func (AutomationControllerConnectionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*automationControllerConnectionsArgs)(nil)).Elem() +} + +type AutomationControllerConnectionsInput interface { + pulumi.Input + + ToAutomationControllerConnectionsOutput() AutomationControllerConnectionsOutput + ToAutomationControllerConnectionsOutputWithContext(ctx context.Context) AutomationControllerConnectionsOutput +} + +func (*AutomationControllerConnections) ElementType() reflect.Type { + return reflect.TypeOf((**AutomationControllerConnections)(nil)).Elem() +} + +func (i *AutomationControllerConnections) ToAutomationControllerConnectionsOutput() AutomationControllerConnectionsOutput { + return i.ToAutomationControllerConnectionsOutputWithContext(context.Background()) +} + +func (i *AutomationControllerConnections) ToAutomationControllerConnectionsOutputWithContext(ctx context.Context) AutomationControllerConnectionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutomationControllerConnectionsOutput) +} + +// AutomationControllerConnectionsArrayInput is an input type that accepts AutomationControllerConnectionsArray and AutomationControllerConnectionsArrayOutput values. +// You can construct a concrete instance of `AutomationControllerConnectionsArrayInput` via: +// +// AutomationControllerConnectionsArray{ AutomationControllerConnectionsArgs{...} } +type AutomationControllerConnectionsArrayInput interface { + pulumi.Input + + ToAutomationControllerConnectionsArrayOutput() AutomationControllerConnectionsArrayOutput + ToAutomationControllerConnectionsArrayOutputWithContext(context.Context) AutomationControllerConnectionsArrayOutput +} + +type AutomationControllerConnectionsArray []AutomationControllerConnectionsInput + +func (AutomationControllerConnectionsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AutomationControllerConnections)(nil)).Elem() +} + +func (i AutomationControllerConnectionsArray) ToAutomationControllerConnectionsArrayOutput() AutomationControllerConnectionsArrayOutput { + return i.ToAutomationControllerConnectionsArrayOutputWithContext(context.Background()) +} + +func (i AutomationControllerConnectionsArray) ToAutomationControllerConnectionsArrayOutputWithContext(ctx context.Context) AutomationControllerConnectionsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutomationControllerConnectionsArrayOutput) +} + +// AutomationControllerConnectionsMapInput is an input type that accepts AutomationControllerConnectionsMap and AutomationControllerConnectionsMapOutput values. +// You can construct a concrete instance of `AutomationControllerConnectionsMapInput` via: +// +// AutomationControllerConnectionsMap{ "key": AutomationControllerConnectionsArgs{...} } +type AutomationControllerConnectionsMapInput interface { + pulumi.Input + + ToAutomationControllerConnectionsMapOutput() AutomationControllerConnectionsMapOutput + ToAutomationControllerConnectionsMapOutputWithContext(context.Context) AutomationControllerConnectionsMapOutput +} + +type AutomationControllerConnectionsMap map[string]AutomationControllerConnectionsInput + +func (AutomationControllerConnectionsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AutomationControllerConnections)(nil)).Elem() +} + +func (i AutomationControllerConnectionsMap) ToAutomationControllerConnectionsMapOutput() AutomationControllerConnectionsMapOutput { + return i.ToAutomationControllerConnectionsMapOutputWithContext(context.Background()) +} + +func (i AutomationControllerConnectionsMap) ToAutomationControllerConnectionsMapOutputWithContext(ctx context.Context) AutomationControllerConnectionsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutomationControllerConnectionsMapOutput) +} + +type AutomationControllerConnectionsOutput struct{ *pulumi.OutputState } + +func (AutomationControllerConnectionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AutomationControllerConnections)(nil)).Elem() +} + +func (o AutomationControllerConnectionsOutput) ToAutomationControllerConnectionsOutput() AutomationControllerConnectionsOutput { + return o +} + +func (o AutomationControllerConnectionsOutput) ToAutomationControllerConnectionsOutputWithContext(ctx context.Context) AutomationControllerConnectionsOutput { + return o +} + +// A unique and clearly identifiable connection name. +func (o AutomationControllerConnectionsOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AutomationControllerConnections) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. +func (o AutomationControllerConnectionsOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AutomationControllerConnections) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) +} + +// Possible Values: `Api_token` +func (o AutomationControllerConnectionsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *AutomationControllerConnections) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ +func (o AutomationControllerConnectionsOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AutomationControllerConnections) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type AutomationControllerConnectionsArrayOutput struct{ *pulumi.OutputState } + +func (AutomationControllerConnectionsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AutomationControllerConnections)(nil)).Elem() +} + +func (o AutomationControllerConnectionsArrayOutput) ToAutomationControllerConnectionsArrayOutput() AutomationControllerConnectionsArrayOutput { + return o +} + +func (o AutomationControllerConnectionsArrayOutput) ToAutomationControllerConnectionsArrayOutputWithContext(ctx context.Context) AutomationControllerConnectionsArrayOutput { + return o +} + +func (o AutomationControllerConnectionsArrayOutput) Index(i pulumi.IntInput) AutomationControllerConnectionsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AutomationControllerConnections { + return vs[0].([]*AutomationControllerConnections)[vs[1].(int)] + }).(AutomationControllerConnectionsOutput) +} + +type AutomationControllerConnectionsMapOutput struct{ *pulumi.OutputState } + +func (AutomationControllerConnectionsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AutomationControllerConnections)(nil)).Elem() +} + +func (o AutomationControllerConnectionsMapOutput) ToAutomationControllerConnectionsMapOutput() AutomationControllerConnectionsMapOutput { + return o +} + +func (o AutomationControllerConnectionsMapOutput) ToAutomationControllerConnectionsMapOutputWithContext(ctx context.Context) AutomationControllerConnectionsMapOutput { + return o +} + +func (o AutomationControllerConnectionsMapOutput) MapIndex(k pulumi.StringInput) AutomationControllerConnectionsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AutomationControllerConnections { + return vs[0].(map[string]*AutomationControllerConnections)[vs[1].(string)] + }).(AutomationControllerConnectionsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AutomationControllerConnectionsInput)(nil)).Elem(), &AutomationControllerConnections{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutomationControllerConnectionsArrayInput)(nil)).Elem(), AutomationControllerConnectionsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutomationControllerConnectionsMapInput)(nil)).Elem(), AutomationControllerConnectionsMap{}) + pulumi.RegisterOutputType(AutomationControllerConnectionsOutput{}) + pulumi.RegisterOutputType(AutomationControllerConnectionsArrayOutput{}) + pulumi.RegisterOutputType(AutomationControllerConnectionsMapOutput{}) +} diff --git a/sdk/go/dynatrace/azureCredentials.go b/sdk/go/dynatrace/azureCredentials.go index 262a273a..915623c7 100644 --- a/sdk/go/dynatrace/azureCredentials.go +++ b/sdk/go/dynatrace/azureCredentials.go @@ -26,7 +26,7 @@ type AzureCredentials struct { // The secret key associated with the Application ID. For security reasons, GET requests return this field as `null`. Submit your key on creation or update of the configuration. If the field is omitted during an update, the old value remains unaffected. Key pulumi.StringPtrOutput `pulumi:"key"` // The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed - Label pulumi.StringPtrOutput `pulumi:"label"` + Label pulumi.StringOutput `pulumi:"label"` // A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. MonitorOnlyExcludingTagPairs AzureCredentialsMonitorOnlyExcludingTagPairArrayOutput `pulumi:"monitorOnlyExcludingTagPairs"` // A list of Azure tags to be monitored. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true` @@ -55,6 +55,9 @@ func NewAzureCredentials(ctx *pulumi.Context, if args.Active == nil { return nil, errors.New("invalid value for required argument 'Active'") } + if args.Label == nil { + return nil, errors.New("invalid value for required argument 'Label'") + } if args.MonitorOnlyTaggedEntities == nil { return nil, errors.New("invalid value for required argument 'MonitorOnlyTaggedEntities'") } @@ -165,7 +168,7 @@ type azureCredentialsArgs struct { // The secret key associated with the Application ID. For security reasons, GET requests return this field as `null`. Submit your key on creation or update of the configuration. If the field is omitted during an update, the old value remains unaffected. Key *string `pulumi:"key"` // The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed - Label *string `pulumi:"label"` + Label string `pulumi:"label"` // A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. MonitorOnlyExcludingTagPairs []AzureCredentialsMonitorOnlyExcludingTagPair `pulumi:"monitorOnlyExcludingTagPairs"` // A list of Azure tags to be monitored. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true` @@ -197,7 +200,7 @@ type AzureCredentialsArgs struct { // The secret key associated with the Application ID. For security reasons, GET requests return this field as `null`. Submit your key on creation or update of the configuration. If the field is omitted during an update, the old value remains unaffected. Key pulumi.StringPtrInput // The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed - Label pulumi.StringPtrInput + Label pulumi.StringInput // A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. MonitorOnlyExcludingTagPairs AzureCredentialsMonitorOnlyExcludingTagPairArrayInput // A list of Azure tags to be monitored. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true` @@ -329,8 +332,8 @@ func (o AzureCredentialsOutput) Key() pulumi.StringPtrOutput { } // The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed -func (o AzureCredentialsOutput) Label() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AzureCredentials) pulumi.StringPtrOutput { return v.Label }).(pulumi.StringPtrOutput) +func (o AzureCredentialsOutput) Label() pulumi.StringOutput { + return o.ApplyT(func(v *AzureCredentials) pulumi.StringOutput { return v.Label }).(pulumi.StringOutput) } // A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. diff --git a/sdk/go/dynatrace/defaultLaunchpad.go b/sdk/go/dynatrace/defaultLaunchpad.go new file mode 100644 index 00000000..3d2ff461 --- /dev/null +++ b/sdk/go/dynatrace/defaultLaunchpad.go @@ -0,0 +1,214 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type DefaultLaunchpad struct { + pulumi.CustomResourceState + + // Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + GroupLaunchpads DefaultLaunchpadGroupLaunchpadsPtrOutput `pulumi:"groupLaunchpads"` +} + +// NewDefaultLaunchpad registers a new resource with the given unique name, arguments, and options. +func NewDefaultLaunchpad(ctx *pulumi.Context, + name string, args *DefaultLaunchpadArgs, opts ...pulumi.ResourceOption) (*DefaultLaunchpad, error) { + if args == nil { + args = &DefaultLaunchpadArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource DefaultLaunchpad + err := ctx.RegisterResource("dynatrace:index/defaultLaunchpad:DefaultLaunchpad", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDefaultLaunchpad gets an existing DefaultLaunchpad 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 GetDefaultLaunchpad(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DefaultLaunchpadState, opts ...pulumi.ResourceOption) (*DefaultLaunchpad, error) { + var resource DefaultLaunchpad + err := ctx.ReadResource("dynatrace:index/defaultLaunchpad:DefaultLaunchpad", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DefaultLaunchpad resources. +type defaultLaunchpadState struct { + // Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + GroupLaunchpads *DefaultLaunchpadGroupLaunchpads `pulumi:"groupLaunchpads"` +} + +type DefaultLaunchpadState struct { + // Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + GroupLaunchpads DefaultLaunchpadGroupLaunchpadsPtrInput +} + +func (DefaultLaunchpadState) ElementType() reflect.Type { + return reflect.TypeOf((*defaultLaunchpadState)(nil)).Elem() +} + +type defaultLaunchpadArgs struct { + // Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + GroupLaunchpads *DefaultLaunchpadGroupLaunchpads `pulumi:"groupLaunchpads"` +} + +// The set of arguments for constructing a DefaultLaunchpad resource. +type DefaultLaunchpadArgs struct { + // Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + GroupLaunchpads DefaultLaunchpadGroupLaunchpadsPtrInput +} + +func (DefaultLaunchpadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*defaultLaunchpadArgs)(nil)).Elem() +} + +type DefaultLaunchpadInput interface { + pulumi.Input + + ToDefaultLaunchpadOutput() DefaultLaunchpadOutput + ToDefaultLaunchpadOutputWithContext(ctx context.Context) DefaultLaunchpadOutput +} + +func (*DefaultLaunchpad) ElementType() reflect.Type { + return reflect.TypeOf((**DefaultLaunchpad)(nil)).Elem() +} + +func (i *DefaultLaunchpad) ToDefaultLaunchpadOutput() DefaultLaunchpadOutput { + return i.ToDefaultLaunchpadOutputWithContext(context.Background()) +} + +func (i *DefaultLaunchpad) ToDefaultLaunchpadOutputWithContext(ctx context.Context) DefaultLaunchpadOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadOutput) +} + +// DefaultLaunchpadArrayInput is an input type that accepts DefaultLaunchpadArray and DefaultLaunchpadArrayOutput values. +// You can construct a concrete instance of `DefaultLaunchpadArrayInput` via: +// +// DefaultLaunchpadArray{ DefaultLaunchpadArgs{...} } +type DefaultLaunchpadArrayInput interface { + pulumi.Input + + ToDefaultLaunchpadArrayOutput() DefaultLaunchpadArrayOutput + ToDefaultLaunchpadArrayOutputWithContext(context.Context) DefaultLaunchpadArrayOutput +} + +type DefaultLaunchpadArray []DefaultLaunchpadInput + +func (DefaultLaunchpadArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DefaultLaunchpad)(nil)).Elem() +} + +func (i DefaultLaunchpadArray) ToDefaultLaunchpadArrayOutput() DefaultLaunchpadArrayOutput { + return i.ToDefaultLaunchpadArrayOutputWithContext(context.Background()) +} + +func (i DefaultLaunchpadArray) ToDefaultLaunchpadArrayOutputWithContext(ctx context.Context) DefaultLaunchpadArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadArrayOutput) +} + +// DefaultLaunchpadMapInput is an input type that accepts DefaultLaunchpadMap and DefaultLaunchpadMapOutput values. +// You can construct a concrete instance of `DefaultLaunchpadMapInput` via: +// +// DefaultLaunchpadMap{ "key": DefaultLaunchpadArgs{...} } +type DefaultLaunchpadMapInput interface { + pulumi.Input + + ToDefaultLaunchpadMapOutput() DefaultLaunchpadMapOutput + ToDefaultLaunchpadMapOutputWithContext(context.Context) DefaultLaunchpadMapOutput +} + +type DefaultLaunchpadMap map[string]DefaultLaunchpadInput + +func (DefaultLaunchpadMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DefaultLaunchpad)(nil)).Elem() +} + +func (i DefaultLaunchpadMap) ToDefaultLaunchpadMapOutput() DefaultLaunchpadMapOutput { + return i.ToDefaultLaunchpadMapOutputWithContext(context.Background()) +} + +func (i DefaultLaunchpadMap) ToDefaultLaunchpadMapOutputWithContext(ctx context.Context) DefaultLaunchpadMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadMapOutput) +} + +type DefaultLaunchpadOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DefaultLaunchpad)(nil)).Elem() +} + +func (o DefaultLaunchpadOutput) ToDefaultLaunchpadOutput() DefaultLaunchpadOutput { + return o +} + +func (o DefaultLaunchpadOutput) ToDefaultLaunchpadOutputWithContext(ctx context.Context) DefaultLaunchpadOutput { + return o +} + +// Set default launchpads for user groups. The highest ranked will be shown to the user of a group. +func (o DefaultLaunchpadOutput) GroupLaunchpads() DefaultLaunchpadGroupLaunchpadsPtrOutput { + return o.ApplyT(func(v *DefaultLaunchpad) DefaultLaunchpadGroupLaunchpadsPtrOutput { return v.GroupLaunchpads }).(DefaultLaunchpadGroupLaunchpadsPtrOutput) +} + +type DefaultLaunchpadArrayOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DefaultLaunchpad)(nil)).Elem() +} + +func (o DefaultLaunchpadArrayOutput) ToDefaultLaunchpadArrayOutput() DefaultLaunchpadArrayOutput { + return o +} + +func (o DefaultLaunchpadArrayOutput) ToDefaultLaunchpadArrayOutputWithContext(ctx context.Context) DefaultLaunchpadArrayOutput { + return o +} + +func (o DefaultLaunchpadArrayOutput) Index(i pulumi.IntInput) DefaultLaunchpadOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DefaultLaunchpad { + return vs[0].([]*DefaultLaunchpad)[vs[1].(int)] + }).(DefaultLaunchpadOutput) +} + +type DefaultLaunchpadMapOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DefaultLaunchpad)(nil)).Elem() +} + +func (o DefaultLaunchpadMapOutput) ToDefaultLaunchpadMapOutput() DefaultLaunchpadMapOutput { + return o +} + +func (o DefaultLaunchpadMapOutput) ToDefaultLaunchpadMapOutputWithContext(ctx context.Context) DefaultLaunchpadMapOutput { + return o +} + +func (o DefaultLaunchpadMapOutput) MapIndex(k pulumi.StringInput) DefaultLaunchpadOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DefaultLaunchpad { + return vs[0].(map[string]*DefaultLaunchpad)[vs[1].(string)] + }).(DefaultLaunchpadOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadInput)(nil)).Elem(), &DefaultLaunchpad{}) + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadArrayInput)(nil)).Elem(), DefaultLaunchpadArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadMapInput)(nil)).Elem(), DefaultLaunchpadMap{}) + pulumi.RegisterOutputType(DefaultLaunchpadOutput{}) + pulumi.RegisterOutputType(DefaultLaunchpadArrayOutput{}) + pulumi.RegisterOutputType(DefaultLaunchpadMapOutput{}) +} diff --git a/sdk/go/dynatrace/eventDrivenAnsibleConnections.go b/sdk/go/dynatrace/eventDrivenAnsibleConnections.go new file mode 100644 index 00000000..ac45754b --- /dev/null +++ b/sdk/go/dynatrace/eventDrivenAnsibleConnections.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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type EventDrivenAnsibleConnections struct { + pulumi.CustomResourceState + + // A unique and clearly identifiable connection name. + Name pulumi.StringOutput `pulumi:"name"` + // API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrOutput `pulumi:"token"` + // Possible Values: `Api_token` + Type pulumi.StringOutput `pulumi:"type"` + // URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewEventDrivenAnsibleConnections registers a new resource with the given unique name, arguments, and options. +func NewEventDrivenAnsibleConnections(ctx *pulumi.Context, + name string, args *EventDrivenAnsibleConnectionsArgs, opts ...pulumi.ResourceOption) (*EventDrivenAnsibleConnections, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EventDrivenAnsibleConnections + err := ctx.RegisterResource("dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEventDrivenAnsibleConnections gets an existing EventDrivenAnsibleConnections 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 GetEventDrivenAnsibleConnections(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EventDrivenAnsibleConnectionsState, opts ...pulumi.ResourceOption) (*EventDrivenAnsibleConnections, error) { + var resource EventDrivenAnsibleConnections + err := ctx.ReadResource("dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EventDrivenAnsibleConnections resources. +type eventDrivenAnsibleConnectionsState struct { + // A unique and clearly identifiable connection name. + Name *string `pulumi:"name"` + // API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + Token *string `pulumi:"token"` + // Possible Values: `Api_token` + Type *string `pulumi:"type"` + // URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + Url *string `pulumi:"url"` +} + +type EventDrivenAnsibleConnectionsState struct { + // A unique and clearly identifiable connection name. + Name pulumi.StringPtrInput + // API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrInput + // Possible Values: `Api_token` + Type pulumi.StringPtrInput + // URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + Url pulumi.StringPtrInput +} + +func (EventDrivenAnsibleConnectionsState) ElementType() reflect.Type { + return reflect.TypeOf((*eventDrivenAnsibleConnectionsState)(nil)).Elem() +} + +type eventDrivenAnsibleConnectionsArgs struct { + // A unique and clearly identifiable connection name. + Name *string `pulumi:"name"` + // API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + Token *string `pulumi:"token"` + // Possible Values: `Api_token` + Type string `pulumi:"type"` + // URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a EventDrivenAnsibleConnections resource. +type EventDrivenAnsibleConnectionsArgs struct { + // A unique and clearly identifiable connection name. + Name pulumi.StringPtrInput + // API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrInput + // Possible Values: `Api_token` + Type pulumi.StringInput + // URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + Url pulumi.StringInput +} + +func (EventDrivenAnsibleConnectionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*eventDrivenAnsibleConnectionsArgs)(nil)).Elem() +} + +type EventDrivenAnsibleConnectionsInput interface { + pulumi.Input + + ToEventDrivenAnsibleConnectionsOutput() EventDrivenAnsibleConnectionsOutput + ToEventDrivenAnsibleConnectionsOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsOutput +} + +func (*EventDrivenAnsibleConnections) ElementType() reflect.Type { + return reflect.TypeOf((**EventDrivenAnsibleConnections)(nil)).Elem() +} + +func (i *EventDrivenAnsibleConnections) ToEventDrivenAnsibleConnectionsOutput() EventDrivenAnsibleConnectionsOutput { + return i.ToEventDrivenAnsibleConnectionsOutputWithContext(context.Background()) +} + +func (i *EventDrivenAnsibleConnections) ToEventDrivenAnsibleConnectionsOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventDrivenAnsibleConnectionsOutput) +} + +// EventDrivenAnsibleConnectionsArrayInput is an input type that accepts EventDrivenAnsibleConnectionsArray and EventDrivenAnsibleConnectionsArrayOutput values. +// You can construct a concrete instance of `EventDrivenAnsibleConnectionsArrayInput` via: +// +// EventDrivenAnsibleConnectionsArray{ EventDrivenAnsibleConnectionsArgs{...} } +type EventDrivenAnsibleConnectionsArrayInput interface { + pulumi.Input + + ToEventDrivenAnsibleConnectionsArrayOutput() EventDrivenAnsibleConnectionsArrayOutput + ToEventDrivenAnsibleConnectionsArrayOutputWithContext(context.Context) EventDrivenAnsibleConnectionsArrayOutput +} + +type EventDrivenAnsibleConnectionsArray []EventDrivenAnsibleConnectionsInput + +func (EventDrivenAnsibleConnectionsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EventDrivenAnsibleConnections)(nil)).Elem() +} + +func (i EventDrivenAnsibleConnectionsArray) ToEventDrivenAnsibleConnectionsArrayOutput() EventDrivenAnsibleConnectionsArrayOutput { + return i.ToEventDrivenAnsibleConnectionsArrayOutputWithContext(context.Background()) +} + +func (i EventDrivenAnsibleConnectionsArray) ToEventDrivenAnsibleConnectionsArrayOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventDrivenAnsibleConnectionsArrayOutput) +} + +// EventDrivenAnsibleConnectionsMapInput is an input type that accepts EventDrivenAnsibleConnectionsMap and EventDrivenAnsibleConnectionsMapOutput values. +// You can construct a concrete instance of `EventDrivenAnsibleConnectionsMapInput` via: +// +// EventDrivenAnsibleConnectionsMap{ "key": EventDrivenAnsibleConnectionsArgs{...} } +type EventDrivenAnsibleConnectionsMapInput interface { + pulumi.Input + + ToEventDrivenAnsibleConnectionsMapOutput() EventDrivenAnsibleConnectionsMapOutput + ToEventDrivenAnsibleConnectionsMapOutputWithContext(context.Context) EventDrivenAnsibleConnectionsMapOutput +} + +type EventDrivenAnsibleConnectionsMap map[string]EventDrivenAnsibleConnectionsInput + +func (EventDrivenAnsibleConnectionsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EventDrivenAnsibleConnections)(nil)).Elem() +} + +func (i EventDrivenAnsibleConnectionsMap) ToEventDrivenAnsibleConnectionsMapOutput() EventDrivenAnsibleConnectionsMapOutput { + return i.ToEventDrivenAnsibleConnectionsMapOutputWithContext(context.Background()) +} + +func (i EventDrivenAnsibleConnectionsMap) ToEventDrivenAnsibleConnectionsMapOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventDrivenAnsibleConnectionsMapOutput) +} + +type EventDrivenAnsibleConnectionsOutput struct{ *pulumi.OutputState } + +func (EventDrivenAnsibleConnectionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventDrivenAnsibleConnections)(nil)).Elem() +} + +func (o EventDrivenAnsibleConnectionsOutput) ToEventDrivenAnsibleConnectionsOutput() EventDrivenAnsibleConnectionsOutput { + return o +} + +func (o EventDrivenAnsibleConnectionsOutput) ToEventDrivenAnsibleConnectionsOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsOutput { + return o +} + +// A unique and clearly identifiable connection name. +func (o EventDrivenAnsibleConnectionsOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *EventDrivenAnsibleConnections) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. +func (o EventDrivenAnsibleConnectionsOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventDrivenAnsibleConnections) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) +} + +// Possible Values: `Api_token` +func (o EventDrivenAnsibleConnectionsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *EventDrivenAnsibleConnections) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 +func (o EventDrivenAnsibleConnectionsOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *EventDrivenAnsibleConnections) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type EventDrivenAnsibleConnectionsArrayOutput struct{ *pulumi.OutputState } + +func (EventDrivenAnsibleConnectionsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EventDrivenAnsibleConnections)(nil)).Elem() +} + +func (o EventDrivenAnsibleConnectionsArrayOutput) ToEventDrivenAnsibleConnectionsArrayOutput() EventDrivenAnsibleConnectionsArrayOutput { + return o +} + +func (o EventDrivenAnsibleConnectionsArrayOutput) ToEventDrivenAnsibleConnectionsArrayOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsArrayOutput { + return o +} + +func (o EventDrivenAnsibleConnectionsArrayOutput) Index(i pulumi.IntInput) EventDrivenAnsibleConnectionsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EventDrivenAnsibleConnections { + return vs[0].([]*EventDrivenAnsibleConnections)[vs[1].(int)] + }).(EventDrivenAnsibleConnectionsOutput) +} + +type EventDrivenAnsibleConnectionsMapOutput struct{ *pulumi.OutputState } + +func (EventDrivenAnsibleConnectionsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EventDrivenAnsibleConnections)(nil)).Elem() +} + +func (o EventDrivenAnsibleConnectionsMapOutput) ToEventDrivenAnsibleConnectionsMapOutput() EventDrivenAnsibleConnectionsMapOutput { + return o +} + +func (o EventDrivenAnsibleConnectionsMapOutput) ToEventDrivenAnsibleConnectionsMapOutputWithContext(ctx context.Context) EventDrivenAnsibleConnectionsMapOutput { + return o +} + +func (o EventDrivenAnsibleConnectionsMapOutput) MapIndex(k pulumi.StringInput) EventDrivenAnsibleConnectionsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EventDrivenAnsibleConnections { + return vs[0].(map[string]*EventDrivenAnsibleConnections)[vs[1].(string)] + }).(EventDrivenAnsibleConnectionsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EventDrivenAnsibleConnectionsInput)(nil)).Elem(), &EventDrivenAnsibleConnections{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventDrivenAnsibleConnectionsArrayInput)(nil)).Elem(), EventDrivenAnsibleConnectionsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventDrivenAnsibleConnectionsMapInput)(nil)).Elem(), EventDrivenAnsibleConnectionsMap{}) + pulumi.RegisterOutputType(EventDrivenAnsibleConnectionsOutput{}) + pulumi.RegisterOutputType(EventDrivenAnsibleConnectionsArrayOutput{}) + pulumi.RegisterOutputType(EventDrivenAnsibleConnectionsMapOutput{}) +} diff --git a/sdk/go/dynatrace/frequentIssues.go b/sdk/go/dynatrace/frequentIssues.go index e4149b01..44db762a 100644 --- a/sdk/go/dynatrace/frequentIssues.go +++ b/sdk/go/dynatrace/frequentIssues.go @@ -17,6 +17,8 @@ type FrequentIssues struct { // Detect frequent issues within applications, enabled (`true`) or disabled (`false`) DetectApps pulumi.BoolOutput `pulumi:"detectApps"` + // Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + DetectEnv pulumi.BoolPtrOutput `pulumi:"detectEnv"` // Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) DetectInfra pulumi.BoolOutput `pulumi:"detectInfra"` // Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) @@ -64,6 +66,8 @@ func GetFrequentIssues(ctx *pulumi.Context, type frequentIssuesState struct { // Detect frequent issues within applications, enabled (`true`) or disabled (`false`) DetectApps *bool `pulumi:"detectApps"` + // Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + DetectEnv *bool `pulumi:"detectEnv"` // Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) DetectInfra *bool `pulumi:"detectInfra"` // Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) @@ -73,6 +77,8 @@ type frequentIssuesState struct { type FrequentIssuesState struct { // Detect frequent issues within applications, enabled (`true`) or disabled (`false`) DetectApps pulumi.BoolPtrInput + // Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + DetectEnv pulumi.BoolPtrInput // Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) DetectInfra pulumi.BoolPtrInput // Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) @@ -86,6 +92,8 @@ func (FrequentIssuesState) ElementType() reflect.Type { type frequentIssuesArgs struct { // Detect frequent issues within applications, enabled (`true`) or disabled (`false`) DetectApps bool `pulumi:"detectApps"` + // Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + DetectEnv *bool `pulumi:"detectEnv"` // Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) DetectInfra bool `pulumi:"detectInfra"` // Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) @@ -96,6 +104,8 @@ type frequentIssuesArgs struct { type FrequentIssuesArgs struct { // Detect frequent issues within applications, enabled (`true`) or disabled (`false`) DetectApps pulumi.BoolInput + // Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + DetectEnv pulumi.BoolPtrInput // Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) DetectInfra pulumi.BoolInput // Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) @@ -194,6 +204,11 @@ func (o FrequentIssuesOutput) DetectApps() pulumi.BoolOutput { return o.ApplyT(func(v *FrequentIssues) pulumi.BoolOutput { return v.DetectApps }).(pulumi.BoolOutput) } +// Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. +func (o FrequentIssuesOutput) DetectEnv() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FrequentIssues) pulumi.BoolPtrOutput { return v.DetectEnv }).(pulumi.BoolPtrOutput) +} + // Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) func (o FrequentIssuesOutput) DetectInfra() pulumi.BoolOutput { return o.ApplyT(func(v *FrequentIssues) pulumi.BoolOutput { return v.DetectInfra }).(pulumi.BoolOutput) diff --git a/sdk/go/dynatrace/getAlertingProfile.go b/sdk/go/dynatrace/getAlertingProfile.go index f74c40a1..5b42640f 100644 --- a/sdk/go/dynatrace/getAlertingProfile.go +++ b/sdk/go/dynatrace/getAlertingProfile.go @@ -75,21 +75,11 @@ type LookupAlertingProfileResult struct { } func LookupAlertingProfileOutput(ctx *pulumi.Context, args LookupAlertingProfileOutputArgs, opts ...pulumi.InvokeOption) LookupAlertingProfileResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAlertingProfileResultOutput, error) { args := v.(LookupAlertingProfileArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAlertingProfileResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAlertingProfile:getAlertingProfile", args, &rv, "", opts...) - if err != nil { - return LookupAlertingProfileResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAlertingProfileResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAlertingProfileResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAlertingProfile:getAlertingProfile", args, LookupAlertingProfileResultOutput{}, options).(LookupAlertingProfileResultOutput), nil }).(LookupAlertingProfileResultOutput) } diff --git a/sdk/go/dynatrace/getAlertingProfiles.go b/sdk/go/dynatrace/getAlertingProfiles.go index 3ee31bf2..1aa25e63 100644 --- a/sdk/go/dynatrace/getAlertingProfiles.go +++ b/sdk/go/dynatrace/getAlertingProfiles.go @@ -36,21 +36,11 @@ type GetAlertingProfilesResult struct { } func GetAlertingProfilesOutput(ctx *pulumi.Context, args GetAlertingProfilesOutputArgs, opts ...pulumi.InvokeOption) GetAlertingProfilesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetAlertingProfilesResultOutput, error) { args := v.(GetAlertingProfilesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetAlertingProfilesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAlertingProfiles:getAlertingProfiles", args, &rv, "", opts...) - if err != nil { - return GetAlertingProfilesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetAlertingProfilesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetAlertingProfilesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAlertingProfiles:getAlertingProfiles", args, GetAlertingProfilesResultOutput{}, options).(GetAlertingProfilesResultOutput), nil }).(GetAlertingProfilesResultOutput) } diff --git a/sdk/go/dynatrace/getApiToken.go b/sdk/go/dynatrace/getApiToken.go index af094b1f..85a11c45 100644 --- a/sdk/go/dynatrace/getApiToken.go +++ b/sdk/go/dynatrace/getApiToken.go @@ -76,21 +76,11 @@ type LookupApiTokenResult struct { } func LookupApiTokenOutput(ctx *pulumi.Context, args LookupApiTokenOutputArgs, opts ...pulumi.InvokeOption) LookupApiTokenResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupApiTokenResultOutput, error) { args := v.(LookupApiTokenArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupApiTokenResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getApiToken:getApiToken", args, &rv, "", opts...) - if err != nil { - return LookupApiTokenResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupApiTokenResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupApiTokenResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getApiToken:getApiToken", args, LookupApiTokenResultOutput{}, options).(LookupApiTokenResultOutput), nil }).(LookupApiTokenResultOutput) } diff --git a/sdk/go/dynatrace/getApiTokens.go b/sdk/go/dynatrace/getApiTokens.go index 23e71f3d..0cfaf89e 100644 --- a/sdk/go/dynatrace/getApiTokens.go +++ b/sdk/go/dynatrace/getApiTokens.go @@ -56,18 +56,8 @@ type GetApiTokensResult struct { func GetApiTokensOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetApiTokensResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetApiTokensResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetApiTokensResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getApiTokens:getApiTokens", nil, &rv, "", opts...) - if err != nil { - return GetApiTokensResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetApiTokensResultOutput) - if secret { - return pulumi.ToSecret(output).(GetApiTokensResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getApiTokens:getApiTokens", nil, GetApiTokensResultOutput{}, options).(GetApiTokensResultOutput), nil }).(GetApiTokensResultOutput) } diff --git a/sdk/go/dynatrace/getApplication.go b/sdk/go/dynatrace/getApplication.go index b391c94d..93364c0a 100644 --- a/sdk/go/dynatrace/getApplication.go +++ b/sdk/go/dynatrace/getApplication.go @@ -74,21 +74,11 @@ type GetApplicationResult struct { } func GetApplicationOutput(ctx *pulumi.Context, args GetApplicationOutputArgs, opts ...pulumi.InvokeOption) GetApplicationResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetApplicationResultOutput, error) { args := v.(GetApplicationArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetApplicationResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getApplication:getApplication", args, &rv, "", opts...) - if err != nil { - return GetApplicationResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetApplicationResultOutput) - if secret { - return pulumi.ToSecret(output).(GetApplicationResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getApplication:getApplication", args, GetApplicationResultOutput{}, options).(GetApplicationResultOutput), nil }).(GetApplicationResultOutput) } diff --git a/sdk/go/dynatrace/getAttackAlerting.go b/sdk/go/dynatrace/getAttackAlerting.go index ffa8455a..c658b4a5 100644 --- a/sdk/go/dynatrace/getAttackAlerting.go +++ b/sdk/go/dynatrace/getAttackAlerting.go @@ -66,21 +66,11 @@ type LookupAttackAlertingResult struct { } func LookupAttackAlertingOutput(ctx *pulumi.Context, args LookupAttackAlertingOutputArgs, opts ...pulumi.InvokeOption) LookupAttackAlertingResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAttackAlertingResultOutput, error) { args := v.(LookupAttackAlertingArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAttackAlertingResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAttackAlerting:getAttackAlerting", args, &rv, "", opts...) - if err != nil { - return LookupAttackAlertingResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAttackAlertingResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAttackAlertingResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAttackAlerting:getAttackAlerting", args, LookupAttackAlertingResultOutput{}, options).(LookupAttackAlertingResultOutput), nil }).(LookupAttackAlertingResultOutput) } diff --git a/sdk/go/dynatrace/getAutotag.go b/sdk/go/dynatrace/getAutotag.go index cfcc63ad..f2941070 100644 --- a/sdk/go/dynatrace/getAutotag.go +++ b/sdk/go/dynatrace/getAutotag.go @@ -115,21 +115,11 @@ type LookupAutotagResult struct { } func LookupAutotagOutput(ctx *pulumi.Context, args LookupAutotagOutputArgs, opts ...pulumi.InvokeOption) LookupAutotagResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAutotagResultOutput, error) { args := v.(LookupAutotagArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAutotagResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAutotag:getAutotag", args, &rv, "", opts...) - if err != nil { - return LookupAutotagResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAutotagResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAutotagResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAutotag:getAutotag", args, LookupAutotagResultOutput{}, options).(LookupAutotagResultOutput), nil }).(LookupAutotagResultOutput) } diff --git a/sdk/go/dynatrace/getAwsCredentials.go b/sdk/go/dynatrace/getAwsCredentials.go index 46e35774..38357b7d 100644 --- a/sdk/go/dynatrace/getAwsCredentials.go +++ b/sdk/go/dynatrace/getAwsCredentials.go @@ -37,21 +37,11 @@ type LookupAwsCredentialsResult struct { } func LookupAwsCredentialsOutput(ctx *pulumi.Context, args LookupAwsCredentialsOutputArgs, opts ...pulumi.InvokeOption) LookupAwsCredentialsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAwsCredentialsResultOutput, error) { args := v.(LookupAwsCredentialsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAwsCredentialsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAwsCredentials:getAwsCredentials", args, &rv, "", opts...) - if err != nil { - return LookupAwsCredentialsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAwsCredentialsResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAwsCredentialsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAwsCredentials:getAwsCredentials", args, LookupAwsCredentialsResultOutput{}, options).(LookupAwsCredentialsResultOutput), nil }).(LookupAwsCredentialsResultOutput) } diff --git a/sdk/go/dynatrace/getAwsIamExternal.go b/sdk/go/dynatrace/getAwsIamExternal.go index ab6dbe61..88757ec3 100644 --- a/sdk/go/dynatrace/getAwsIamExternal.go +++ b/sdk/go/dynatrace/getAwsIamExternal.go @@ -30,18 +30,8 @@ type GetAwsIamExternalResult struct { func GetAwsIamExternalOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetAwsIamExternalResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetAwsIamExternalResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetAwsIamExternalResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAwsIamExternal:getAwsIamExternal", nil, &rv, "", opts...) - if err != nil { - return GetAwsIamExternalResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetAwsIamExternalResultOutput) - if secret { - return pulumi.ToSecret(output).(GetAwsIamExternalResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAwsIamExternal:getAwsIamExternal", nil, GetAwsIamExternalResultOutput{}, options).(GetAwsIamExternalResultOutput), nil }).(GetAwsIamExternalResultOutput) } diff --git a/sdk/go/dynatrace/getAwsSupportedServices.go b/sdk/go/dynatrace/getAwsSupportedServices.go index 5e6a4855..94d9d183 100644 --- a/sdk/go/dynatrace/getAwsSupportedServices.go +++ b/sdk/go/dynatrace/getAwsSupportedServices.go @@ -43,21 +43,11 @@ type GetAwsSupportedServicesResult struct { } func GetAwsSupportedServicesOutput(ctx *pulumi.Context, args GetAwsSupportedServicesOutputArgs, opts ...pulumi.InvokeOption) GetAwsSupportedServicesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetAwsSupportedServicesResultOutput, error) { args := v.(GetAwsSupportedServicesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetAwsSupportedServicesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAwsSupportedServices:getAwsSupportedServices", args, &rv, "", opts...) - if err != nil { - return GetAwsSupportedServicesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetAwsSupportedServicesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetAwsSupportedServicesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAwsSupportedServices:getAwsSupportedServices", args, GetAwsSupportedServicesResultOutput{}, options).(GetAwsSupportedServicesResultOutput), nil }).(GetAwsSupportedServicesResultOutput) } diff --git a/sdk/go/dynatrace/getAzureCredentials.go b/sdk/go/dynatrace/getAzureCredentials.go index 5c63298d..b7d241cf 100644 --- a/sdk/go/dynatrace/getAzureCredentials.go +++ b/sdk/go/dynatrace/getAzureCredentials.go @@ -37,21 +37,11 @@ type LookupAzureCredentialsResult struct { } func LookupAzureCredentialsOutput(ctx *pulumi.Context, args LookupAzureCredentialsOutputArgs, opts ...pulumi.InvokeOption) LookupAzureCredentialsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAzureCredentialsResultOutput, error) { args := v.(LookupAzureCredentialsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAzureCredentialsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAzureCredentials:getAzureCredentials", args, &rv, "", opts...) - if err != nil { - return LookupAzureCredentialsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAzureCredentialsResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAzureCredentialsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAzureCredentials:getAzureCredentials", args, LookupAzureCredentialsResultOutput{}, options).(LookupAzureCredentialsResultOutput), nil }).(LookupAzureCredentialsResultOutput) } diff --git a/sdk/go/dynatrace/getAzureSupportedServices.go b/sdk/go/dynatrace/getAzureSupportedServices.go index 87612cc1..3b18021d 100644 --- a/sdk/go/dynatrace/getAzureSupportedServices.go +++ b/sdk/go/dynatrace/getAzureSupportedServices.go @@ -43,21 +43,11 @@ type GetAzureSupportedServicesResult struct { } func GetAzureSupportedServicesOutput(ctx *pulumi.Context, args GetAzureSupportedServicesOutputArgs, opts ...pulumi.InvokeOption) GetAzureSupportedServicesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetAzureSupportedServicesResultOutput, error) { args := v.(GetAzureSupportedServicesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetAzureSupportedServicesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getAzureSupportedServices:getAzureSupportedServices", args, &rv, "", opts...) - if err != nil { - return GetAzureSupportedServicesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetAzureSupportedServicesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetAzureSupportedServicesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getAzureSupportedServices:getAzureSupportedServices", args, GetAzureSupportedServicesResultOutput{}, options).(GetAzureSupportedServicesResultOutput), nil }).(GetAzureSupportedServicesResultOutput) } diff --git a/sdk/go/dynatrace/getCalculatedServiceMetric.go b/sdk/go/dynatrace/getCalculatedServiceMetric.go index 9b2e3645..69b97f51 100644 --- a/sdk/go/dynatrace/getCalculatedServiceMetric.go +++ b/sdk/go/dynatrace/getCalculatedServiceMetric.go @@ -64,21 +64,11 @@ type LookupCalculatedServiceMetricResult struct { } func LookupCalculatedServiceMetricOutput(ctx *pulumi.Context, args LookupCalculatedServiceMetricOutputArgs, opts ...pulumi.InvokeOption) LookupCalculatedServiceMetricResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupCalculatedServiceMetricResultOutput, error) { args := v.(LookupCalculatedServiceMetricArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupCalculatedServiceMetricResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric", args, &rv, "", opts...) - if err != nil { - return LookupCalculatedServiceMetricResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupCalculatedServiceMetricResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupCalculatedServiceMetricResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric", args, LookupCalculatedServiceMetricResultOutput{}, options).(LookupCalculatedServiceMetricResultOutput), nil }).(LookupCalculatedServiceMetricResultOutput) } diff --git a/sdk/go/dynatrace/getCredentials.go b/sdk/go/dynatrace/getCredentials.go index 357c5ab6..c9f7a21e 100644 --- a/sdk/go/dynatrace/getCredentials.go +++ b/sdk/go/dynatrace/getCredentials.go @@ -123,21 +123,11 @@ type LookupCredentialsResult struct { } func LookupCredentialsOutput(ctx *pulumi.Context, args LookupCredentialsOutputArgs, opts ...pulumi.InvokeOption) LookupCredentialsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupCredentialsResultOutput, error) { args := v.(LookupCredentialsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupCredentialsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getCredentials:getCredentials", args, &rv, "", opts...) - if err != nil { - return LookupCredentialsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupCredentialsResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupCredentialsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getCredentials:getCredentials", args, LookupCredentialsResultOutput{}, options).(LookupCredentialsResultOutput), nil }).(LookupCredentialsResultOutput) } diff --git a/sdk/go/dynatrace/getDashboard.go b/sdk/go/dynatrace/getDashboard.go index 9089b030..2a5e7213 100644 --- a/sdk/go/dynatrace/getDashboard.go +++ b/sdk/go/dynatrace/getDashboard.go @@ -70,21 +70,11 @@ type LookupDashboardResult struct { } func LookupDashboardOutput(ctx *pulumi.Context, args LookupDashboardOutputArgs, opts ...pulumi.InvokeOption) LookupDashboardResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDashboardResultOutput, error) { args := v.(LookupDashboardArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDashboardResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getDashboard:getDashboard", args, &rv, "", opts...) - if err != nil { - return LookupDashboardResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDashboardResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDashboardResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getDashboard:getDashboard", args, LookupDashboardResultOutput{}, options).(LookupDashboardResultOutput), nil }).(LookupDashboardResultOutput) } diff --git a/sdk/go/dynatrace/getDocuments.go b/sdk/go/dynatrace/getDocuments.go index 5c60b31e..1f99d04d 100644 --- a/sdk/go/dynatrace/getDocuments.go +++ b/sdk/go/dynatrace/getDocuments.go @@ -78,21 +78,11 @@ type GetDocumentsResult struct { } func GetDocumentsOutput(ctx *pulumi.Context, args GetDocumentsOutputArgs, opts ...pulumi.InvokeOption) GetDocumentsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetDocumentsResultOutput, error) { args := v.(GetDocumentsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetDocumentsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getDocuments:getDocuments", args, &rv, "", opts...) - if err != nil { - return GetDocumentsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetDocumentsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetDocumentsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getDocuments:getDocuments", args, GetDocumentsResultOutput{}, options).(GetDocumentsResultOutput), nil }).(GetDocumentsResultOutput) } diff --git a/sdk/go/dynatrace/getEntities.go b/sdk/go/dynatrace/getEntities.go index 48e662be..84b15038 100644 --- a/sdk/go/dynatrace/getEntities.go +++ b/sdk/go/dynatrace/getEntities.go @@ -71,21 +71,11 @@ type GetEntitiesResult struct { } func GetEntitiesOutput(ctx *pulumi.Context, args GetEntitiesOutputArgs, opts ...pulumi.InvokeOption) GetEntitiesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetEntitiesResultOutput, error) { args := v.(GetEntitiesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetEntitiesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getEntities:getEntities", args, &rv, "", opts...) - if err != nil { - return GetEntitiesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetEntitiesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetEntitiesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getEntities:getEntities", args, GetEntitiesResultOutput{}, options).(GetEntitiesResultOutput), nil }).(GetEntitiesResultOutput) } diff --git a/sdk/go/dynatrace/getEntity.go b/sdk/go/dynatrace/getEntity.go index 9fea2c71..9d763b2b 100644 --- a/sdk/go/dynatrace/getEntity.go +++ b/sdk/go/dynatrace/getEntity.go @@ -77,21 +77,11 @@ type GetEntityResult struct { } func GetEntityOutput(ctx *pulumi.Context, args GetEntityOutputArgs, opts ...pulumi.InvokeOption) GetEntityResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetEntityResultOutput, error) { args := v.(GetEntityArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetEntityResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getEntity:getEntity", args, &rv, "", opts...) - if err != nil { - return GetEntityResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetEntityResultOutput) - if secret { - return pulumi.ToSecret(output).(GetEntityResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getEntity:getEntity", args, GetEntityResultOutput{}, options).(GetEntityResultOutput), nil }).(GetEntityResultOutput) } diff --git a/sdk/go/dynatrace/getFailureDetectionParameters.go b/sdk/go/dynatrace/getFailureDetectionParameters.go index 987e5c2e..859cfc83 100644 --- a/sdk/go/dynatrace/getFailureDetectionParameters.go +++ b/sdk/go/dynatrace/getFailureDetectionParameters.go @@ -66,21 +66,11 @@ type LookupFailureDetectionParametersResult struct { } func LookupFailureDetectionParametersOutput(ctx *pulumi.Context, args LookupFailureDetectionParametersOutputArgs, opts ...pulumi.InvokeOption) LookupFailureDetectionParametersResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupFailureDetectionParametersResultOutput, error) { args := v.(LookupFailureDetectionParametersArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupFailureDetectionParametersResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters", args, &rv, "", opts...) - if err != nil { - return LookupFailureDetectionParametersResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupFailureDetectionParametersResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupFailureDetectionParametersResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters", args, LookupFailureDetectionParametersResultOutput{}, options).(LookupFailureDetectionParametersResultOutput), nil }).(LookupFailureDetectionParametersResultOutput) } diff --git a/sdk/go/dynatrace/getGenericSetting.go b/sdk/go/dynatrace/getGenericSetting.go index 9c58abf5..966e4fda 100644 --- a/sdk/go/dynatrace/getGenericSetting.go +++ b/sdk/go/dynatrace/getGenericSetting.go @@ -76,21 +76,11 @@ type LookupGenericSettingResult struct { } func LookupGenericSettingOutput(ctx *pulumi.Context, args LookupGenericSettingOutputArgs, opts ...pulumi.InvokeOption) LookupGenericSettingResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupGenericSettingResultOutput, error) { args := v.(LookupGenericSettingArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupGenericSettingResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getGenericSetting:getGenericSetting", args, &rv, "", opts...) - if err != nil { - return LookupGenericSettingResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupGenericSettingResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupGenericSettingResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getGenericSetting:getGenericSetting", args, LookupGenericSettingResultOutput{}, options).(LookupGenericSettingResultOutput), nil }).(LookupGenericSettingResultOutput) } diff --git a/sdk/go/dynatrace/getGenericSettings.go b/sdk/go/dynatrace/getGenericSettings.go index e976a115..4df629a7 100644 --- a/sdk/go/dynatrace/getGenericSettings.go +++ b/sdk/go/dynatrace/getGenericSettings.go @@ -73,21 +73,11 @@ type GetGenericSettingsResult struct { } func GetGenericSettingsOutput(ctx *pulumi.Context, args GetGenericSettingsOutputArgs, opts ...pulumi.InvokeOption) GetGenericSettingsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetGenericSettingsResultOutput, error) { args := v.(GetGenericSettingsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetGenericSettingsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getGenericSettings:getGenericSettings", args, &rv, "", opts...) - if err != nil { - return GetGenericSettingsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetGenericSettingsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetGenericSettingsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getGenericSettings:getGenericSettings", args, GetGenericSettingsResultOutput{}, options).(GetGenericSettingsResultOutput), nil }).(GetGenericSettingsResultOutput) } diff --git a/sdk/go/dynatrace/getGeoCities.go b/sdk/go/dynatrace/getGeoCities.go new file mode 100644 index 00000000..7620af17 --- /dev/null +++ b/sdk/go/dynatrace/getGeoCities.go @@ -0,0 +1,134 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +// The `getGeoCities` data source retrieves the list of cities and their codes based on country and region code. +// +// - `countryCode` (String) - The ISO code of the required country +// - `regionCode` (String) - The code of the required region +// +// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := dynatrace.GetGeoCities(ctx, &dynatrace.GetGeoCitiesArgs{ +// CountryCode: "FR", +// RegionCode: "BRE", +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("test", example) +// return nil +// }) +// } +// +// ``` +func GetGeoCities(ctx *pulumi.Context, args *GetGeoCitiesArgs, opts ...pulumi.InvokeOption) (*GetGeoCitiesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetGeoCitiesResult + err := ctx.Invoke("dynatrace:index/getGeoCities:getGeoCities", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getGeoCities. +type GetGeoCitiesArgs struct { + // The ISO code of the required country + CountryCode string `pulumi:"countryCode"` + // The code of the required region + RegionCode string `pulumi:"regionCode"` +} + +// A collection of values returned by getGeoCities. +type GetGeoCitiesResult struct { + Cities []GetGeoCitiesCity `pulumi:"cities"` + // The ISO code of the required country + CountryCode string `pulumi:"countryCode"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The code of the required region + RegionCode string `pulumi:"regionCode"` +} + +func GetGeoCitiesOutput(ctx *pulumi.Context, args GetGeoCitiesOutputArgs, opts ...pulumi.InvokeOption) GetGeoCitiesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetGeoCitiesResultOutput, error) { + args := v.(GetGeoCitiesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getGeoCities:getGeoCities", args, GetGeoCitiesResultOutput{}, options).(GetGeoCitiesResultOutput), nil + }).(GetGeoCitiesResultOutput) +} + +// A collection of arguments for invoking getGeoCities. +type GetGeoCitiesOutputArgs struct { + // The ISO code of the required country + CountryCode pulumi.StringInput `pulumi:"countryCode"` + // The code of the required region + RegionCode pulumi.StringInput `pulumi:"regionCode"` +} + +func (GetGeoCitiesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCitiesArgs)(nil)).Elem() +} + +// A collection of values returned by getGeoCities. +type GetGeoCitiesResultOutput struct{ *pulumi.OutputState } + +func (GetGeoCitiesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCitiesResult)(nil)).Elem() +} + +func (o GetGeoCitiesResultOutput) ToGetGeoCitiesResultOutput() GetGeoCitiesResultOutput { + return o +} + +func (o GetGeoCitiesResultOutput) ToGetGeoCitiesResultOutputWithContext(ctx context.Context) GetGeoCitiesResultOutput { + return o +} + +func (o GetGeoCitiesResultOutput) Cities() GetGeoCitiesCityArrayOutput { + return o.ApplyT(func(v GetGeoCitiesResult) []GetGeoCitiesCity { return v.Cities }).(GetGeoCitiesCityArrayOutput) +} + +// The ISO code of the required country +func (o GetGeoCitiesResultOutput) CountryCode() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCitiesResult) string { return v.CountryCode }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetGeoCitiesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCitiesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The code of the required region +func (o GetGeoCitiesResultOutput) RegionCode() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCitiesResult) string { return v.RegionCode }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetGeoCitiesResultOutput{}) +} diff --git a/sdk/go/dynatrace/getGeoCountries.go b/sdk/go/dynatrace/getGeoCountries.go new file mode 100644 index 00000000..795313dc --- /dev/null +++ b/sdk/go/dynatrace/getGeoCountries.go @@ -0,0 +1,92 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +// The `getGeoCountries` data source retrieves the list of countries and their codes. +// +// Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := dynatrace.GetGeoCountries(ctx, map[string]interface{}{}, nil) +// if err != nil { +// return err +// } +// ctx.Export("test", example) +// return nil +// }) +// } +// +// ``` +func GetGeoCountries(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetGeoCountriesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetGeoCountriesResult + err := ctx.Invoke("dynatrace:index/getGeoCountries:getGeoCountries", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getGeoCountries. +type GetGeoCountriesResult struct { + Countries []GetGeoCountriesCountry `pulumi:"countries"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func GetGeoCountriesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetGeoCountriesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetGeoCountriesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getGeoCountries:getGeoCountries", nil, GetGeoCountriesResultOutput{}, options).(GetGeoCountriesResultOutput), nil + }).(GetGeoCountriesResultOutput) +} + +// A collection of values returned by getGeoCountries. +type GetGeoCountriesResultOutput struct{ *pulumi.OutputState } + +func (GetGeoCountriesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCountriesResult)(nil)).Elem() +} + +func (o GetGeoCountriesResultOutput) ToGetGeoCountriesResultOutput() GetGeoCountriesResultOutput { + return o +} + +func (o GetGeoCountriesResultOutput) ToGetGeoCountriesResultOutputWithContext(ctx context.Context) GetGeoCountriesResultOutput { + return o +} + +func (o GetGeoCountriesResultOutput) Countries() GetGeoCountriesCountryArrayOutput { + return o.ApplyT(func(v GetGeoCountriesResult) []GetGeoCountriesCountry { return v.Countries }).(GetGeoCountriesCountryArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetGeoCountriesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCountriesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetGeoCountriesResultOutput{}) +} diff --git a/sdk/go/dynatrace/getGeoRegions.go b/sdk/go/dynatrace/getGeoRegions.go new file mode 100644 index 00000000..ca4087a0 --- /dev/null +++ b/sdk/go/dynatrace/getGeoRegions.go @@ -0,0 +1,121 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +// The `getGeoRegions` data source retrieves the list of regions and their codes based on country code. +// +// - `countryCode` (String) - The ISO code of the required country +// +// Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := dynatrace.GetGeoRegions(ctx, &dynatrace.GetGeoRegionsArgs{ +// CountryCode: "FR", +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("test", example) +// return nil +// }) +// } +// +// ``` +func GetGeoRegions(ctx *pulumi.Context, args *GetGeoRegionsArgs, opts ...pulumi.InvokeOption) (*GetGeoRegionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetGeoRegionsResult + err := ctx.Invoke("dynatrace:index/getGeoRegions:getGeoRegions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getGeoRegions. +type GetGeoRegionsArgs struct { + // The ISO code of the required country + CountryCode string `pulumi:"countryCode"` +} + +// A collection of values returned by getGeoRegions. +type GetGeoRegionsResult struct { + // The ISO code of the required country + CountryCode string `pulumi:"countryCode"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Regions []GetGeoRegionsRegion `pulumi:"regions"` +} + +func GetGeoRegionsOutput(ctx *pulumi.Context, args GetGeoRegionsOutputArgs, opts ...pulumi.InvokeOption) GetGeoRegionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetGeoRegionsResultOutput, error) { + args := v.(GetGeoRegionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getGeoRegions:getGeoRegions", args, GetGeoRegionsResultOutput{}, options).(GetGeoRegionsResultOutput), nil + }).(GetGeoRegionsResultOutput) +} + +// A collection of arguments for invoking getGeoRegions. +type GetGeoRegionsOutputArgs struct { + // The ISO code of the required country + CountryCode pulumi.StringInput `pulumi:"countryCode"` +} + +func (GetGeoRegionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoRegionsArgs)(nil)).Elem() +} + +// A collection of values returned by getGeoRegions. +type GetGeoRegionsResultOutput struct{ *pulumi.OutputState } + +func (GetGeoRegionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoRegionsResult)(nil)).Elem() +} + +func (o GetGeoRegionsResultOutput) ToGetGeoRegionsResultOutput() GetGeoRegionsResultOutput { + return o +} + +func (o GetGeoRegionsResultOutput) ToGetGeoRegionsResultOutputWithContext(ctx context.Context) GetGeoRegionsResultOutput { + return o +} + +// The ISO code of the required country +func (o GetGeoRegionsResultOutput) CountryCode() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoRegionsResult) string { return v.CountryCode }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetGeoRegionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoRegionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetGeoRegionsResultOutput) Regions() GetGeoRegionsRegionArrayOutput { + return o.ApplyT(func(v GetGeoRegionsResult) []GetGeoRegionsRegion { return v.Regions }).(GetGeoRegionsRegionArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetGeoRegionsResultOutput{}) +} diff --git a/sdk/go/dynatrace/getHost.go b/sdk/go/dynatrace/getHost.go index 98180eb4..f524fcf0 100644 --- a/sdk/go/dynatrace/getHost.go +++ b/sdk/go/dynatrace/getHost.go @@ -89,21 +89,11 @@ type GetHostResult struct { } func GetHostOutput(ctx *pulumi.Context, args GetHostOutputArgs, opts ...pulumi.InvokeOption) GetHostResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetHostResultOutput, error) { args := v.(GetHostArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetHostResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getHost:getHost", args, &rv, "", opts...) - if err != nil { - return GetHostResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetHostResultOutput) - if secret { - return pulumi.ToSecret(output).(GetHostResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getHost:getHost", args, GetHostResultOutput{}, options).(GetHostResultOutput), nil }).(GetHostResultOutput) } diff --git a/sdk/go/dynatrace/getHubItems.go b/sdk/go/dynatrace/getHubItems.go index c1787adc..8a937a73 100644 --- a/sdk/go/dynatrace/getHubItems.go +++ b/sdk/go/dynatrace/getHubItems.go @@ -71,21 +71,11 @@ type GetHubItemsResult struct { } func GetHubItemsOutput(ctx *pulumi.Context, args GetHubItemsOutputArgs, opts ...pulumi.InvokeOption) GetHubItemsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetHubItemsResultOutput, error) { args := v.(GetHubItemsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetHubItemsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getHubItems:getHubItems", args, &rv, "", opts...) - if err != nil { - return GetHubItemsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetHubItemsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetHubItemsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getHubItems:getHubItems", args, GetHubItemsResultOutput{}, options).(GetHubItemsResultOutput), nil }).(GetHubItemsResultOutput) } diff --git a/sdk/go/dynatrace/getIamGroup.go b/sdk/go/dynatrace/getIamGroup.go index 06336f0d..21609b01 100644 --- a/sdk/go/dynatrace/getIamGroup.go +++ b/sdk/go/dynatrace/getIamGroup.go @@ -68,21 +68,11 @@ type LookupIamGroupResult struct { } func LookupIamGroupOutput(ctx *pulumi.Context, args LookupIamGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIamGroupResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamGroupResultOutput, error) { args := v.(LookupIamGroupArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamGroupResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getIamGroup:getIamGroup", args, &rv, "", opts...) - if err != nil { - return LookupIamGroupResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamGroupResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamGroupResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getIamGroup:getIamGroup", args, LookupIamGroupResultOutput{}, options).(LookupIamGroupResultOutput), nil }).(LookupIamGroupResultOutput) } diff --git a/sdk/go/dynatrace/getIamGroups.go b/sdk/go/dynatrace/getIamGroups.go index c115eb88..d45250a2 100644 --- a/sdk/go/dynatrace/getIamGroups.go +++ b/sdk/go/dynatrace/getIamGroups.go @@ -60,18 +60,8 @@ type GetIamGroupsResult struct { func GetIamGroupsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIamGroupsResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetIamGroupsResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetIamGroupsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getIamGroups:getIamGroups", nil, &rv, "", opts...) - if err != nil { - return GetIamGroupsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetIamGroupsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetIamGroupsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getIamGroups:getIamGroups", nil, GetIamGroupsResultOutput{}, options).(GetIamGroupsResultOutput), nil }).(GetIamGroupsResultOutput) } diff --git a/sdk/go/dynatrace/getIamPolicies.go b/sdk/go/dynatrace/getIamPolicies.go index cbd79e2a..819a214a 100644 --- a/sdk/go/dynatrace/getIamPolicies.go +++ b/sdk/go/dynatrace/getIamPolicies.go @@ -152,21 +152,11 @@ type GetIamPoliciesResult struct { } func GetIamPoliciesOutput(ctx *pulumi.Context, args GetIamPoliciesOutputArgs, opts ...pulumi.InvokeOption) GetIamPoliciesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetIamPoliciesResultOutput, error) { args := v.(GetIamPoliciesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetIamPoliciesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getIamPolicies:getIamPolicies", args, &rv, "", opts...) - if err != nil { - return GetIamPoliciesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetIamPoliciesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetIamPoliciesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getIamPolicies:getIamPolicies", args, GetIamPoliciesResultOutput{}, options).(GetIamPoliciesResultOutput), nil }).(GetIamPoliciesResultOutput) } diff --git a/sdk/go/dynatrace/getIamPolicy.go b/sdk/go/dynatrace/getIamPolicy.go index bd4805d3..ace08775 100644 --- a/sdk/go/dynatrace/getIamPolicy.go +++ b/sdk/go/dynatrace/getIamPolicy.go @@ -82,21 +82,11 @@ type LookupIamPolicyResult struct { } func LookupIamPolicyOutput(ctx *pulumi.Context, args LookupIamPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIamPolicyResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamPolicyResultOutput, error) { args := v.(LookupIamPolicyArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamPolicyResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getIamPolicy:getIamPolicy", args, &rv, "", opts...) - if err != nil { - return LookupIamPolicyResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamPolicyResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamPolicyResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getIamPolicy:getIamPolicy", args, LookupIamPolicyResultOutput{}, options).(LookupIamPolicyResultOutput), nil }).(LookupIamPolicyResultOutput) } diff --git a/sdk/go/dynatrace/getIamUser.go b/sdk/go/dynatrace/getIamUser.go index 8bb63546..6f6f1441 100644 --- a/sdk/go/dynatrace/getIamUser.go +++ b/sdk/go/dynatrace/getIamUser.go @@ -68,21 +68,11 @@ type LookupIamUserResult struct { } func LookupIamUserOutput(ctx *pulumi.Context, args LookupIamUserOutputArgs, opts ...pulumi.InvokeOption) LookupIamUserResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamUserResultOutput, error) { args := v.(LookupIamUserArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamUserResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getIamUser:getIamUser", args, &rv, "", opts...) - if err != nil { - return LookupIamUserResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamUserResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamUserResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getIamUser:getIamUser", args, LookupIamUserResultOutput{}, options).(LookupIamUserResultOutput), nil }).(LookupIamUserResultOutput) } diff --git a/sdk/go/dynatrace/getLambdaAgentVersion.go b/sdk/go/dynatrace/getLambdaAgentVersion.go index 89d83037..2cd1cb7c 100644 --- a/sdk/go/dynatrace/getLambdaAgentVersion.go +++ b/sdk/go/dynatrace/getLambdaAgentVersion.go @@ -86,21 +86,11 @@ type GetLambdaAgentVersionResult struct { } func GetLambdaAgentVersionOutput(ctx *pulumi.Context, args GetLambdaAgentVersionOutputArgs, opts ...pulumi.InvokeOption) GetLambdaAgentVersionResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLambdaAgentVersionResultOutput, error) { args := v.(GetLambdaAgentVersionArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLambdaAgentVersionResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion", args, &rv, "", opts...) - if err != nil { - return GetLambdaAgentVersionResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLambdaAgentVersionResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLambdaAgentVersionResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion", args, GetLambdaAgentVersionResultOutput{}, options).(GetLambdaAgentVersionResultOutput), nil }).(GetLambdaAgentVersionResultOutput) } diff --git a/sdk/go/dynatrace/getManagementZone.go b/sdk/go/dynatrace/getManagementZone.go index eb2313f5..40021146 100644 --- a/sdk/go/dynatrace/getManagementZone.go +++ b/sdk/go/dynatrace/getManagementZone.go @@ -103,21 +103,11 @@ type LookupManagementZoneResult struct { } func LookupManagementZoneOutput(ctx *pulumi.Context, args LookupManagementZoneOutputArgs, opts ...pulumi.InvokeOption) LookupManagementZoneResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupManagementZoneResultOutput, error) { args := v.(LookupManagementZoneArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupManagementZoneResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getManagementZone:getManagementZone", args, &rv, "", opts...) - if err != nil { - return LookupManagementZoneResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupManagementZoneResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupManagementZoneResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getManagementZone:getManagementZone", args, LookupManagementZoneResultOutput{}, options).(LookupManagementZoneResultOutput), nil }).(LookupManagementZoneResultOutput) } diff --git a/sdk/go/dynatrace/getManagementZoneV2.go b/sdk/go/dynatrace/getManagementZoneV2.go index 6efd6c2a..0e31c0cf 100644 --- a/sdk/go/dynatrace/getManagementZoneV2.go +++ b/sdk/go/dynatrace/getManagementZoneV2.go @@ -101,21 +101,11 @@ type LookupManagementZoneV2Result struct { } func LookupManagementZoneV2Output(ctx *pulumi.Context, args LookupManagementZoneV2OutputArgs, opts ...pulumi.InvokeOption) LookupManagementZoneV2ResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupManagementZoneV2ResultOutput, error) { args := v.(LookupManagementZoneV2Args) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupManagementZoneV2Result - secret, err := ctx.InvokePackageRaw("dynatrace:index/getManagementZoneV2:getManagementZoneV2", args, &rv, "", opts...) - if err != nil { - return LookupManagementZoneV2ResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupManagementZoneV2ResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupManagementZoneV2ResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getManagementZoneV2:getManagementZoneV2", args, LookupManagementZoneV2ResultOutput{}, options).(LookupManagementZoneV2ResultOutput), nil }).(LookupManagementZoneV2ResultOutput) } diff --git a/sdk/go/dynatrace/getManagementZones.go b/sdk/go/dynatrace/getManagementZones.go index 605b0fb4..12ed71fe 100644 --- a/sdk/go/dynatrace/getManagementZones.go +++ b/sdk/go/dynatrace/getManagementZones.go @@ -89,18 +89,8 @@ type GetManagementZonesResult struct { func GetManagementZonesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetManagementZonesResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetManagementZonesResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetManagementZonesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getManagementZones:getManagementZones", nil, &rv, "", opts...) - if err != nil { - return GetManagementZonesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetManagementZonesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetManagementZonesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getManagementZones:getManagementZones", nil, GetManagementZonesResultOutput{}, options).(GetManagementZonesResultOutput), nil }).(GetManagementZonesResultOutput) } diff --git a/sdk/go/dynatrace/getMobileApplication.go b/sdk/go/dynatrace/getMobileApplication.go index e762d3d1..6ef4c230 100644 --- a/sdk/go/dynatrace/getMobileApplication.go +++ b/sdk/go/dynatrace/getMobileApplication.go @@ -64,21 +64,11 @@ type LookupMobileApplicationResult struct { } func LookupMobileApplicationOutput(ctx *pulumi.Context, args LookupMobileApplicationOutputArgs, opts ...pulumi.InvokeOption) LookupMobileApplicationResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupMobileApplicationResultOutput, error) { args := v.(LookupMobileApplicationArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupMobileApplicationResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getMobileApplication:getMobileApplication", args, &rv, "", opts...) - if err != nil { - return LookupMobileApplicationResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupMobileApplicationResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupMobileApplicationResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getMobileApplication:getMobileApplication", args, LookupMobileApplicationResultOutput{}, options).(LookupMobileApplicationResultOutput), nil }).(LookupMobileApplicationResultOutput) } diff --git a/sdk/go/dynatrace/getProcess.go b/sdk/go/dynatrace/getProcess.go index 7d40c9ab..007afcb7 100644 --- a/sdk/go/dynatrace/getProcess.go +++ b/sdk/go/dynatrace/getProcess.go @@ -89,21 +89,11 @@ type GetProcessResult struct { } func GetProcessOutput(ctx *pulumi.Context, args GetProcessOutputArgs, opts ...pulumi.InvokeOption) GetProcessResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetProcessResultOutput, error) { args := v.(GetProcessArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetProcessResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getProcess:getProcess", args, &rv, "", opts...) - if err != nil { - return GetProcessResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetProcessResultOutput) - if secret { - return pulumi.ToSecret(output).(GetProcessResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getProcess:getProcess", args, GetProcessResultOutput{}, options).(GetProcessResultOutput), nil }).(GetProcessResultOutput) } diff --git a/sdk/go/dynatrace/getProcessGroup.go b/sdk/go/dynatrace/getProcessGroup.go index 13364d17..d6c4bfcc 100644 --- a/sdk/go/dynatrace/getProcessGroup.go +++ b/sdk/go/dynatrace/getProcessGroup.go @@ -89,21 +89,11 @@ type GetProcessGroupResult struct { } func GetProcessGroupOutput(ctx *pulumi.Context, args GetProcessGroupOutputArgs, opts ...pulumi.InvokeOption) GetProcessGroupResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetProcessGroupResultOutput, error) { args := v.(GetProcessGroupArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetProcessGroupResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getProcessGroup:getProcessGroup", args, &rv, "", opts...) - if err != nil { - return GetProcessGroupResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetProcessGroupResultOutput) - if secret { - return pulumi.ToSecret(output).(GetProcessGroupResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getProcessGroup:getProcessGroup", args, GetProcessGroupResultOutput{}, options).(GetProcessGroupResultOutput), nil }).(GetProcessGroupResultOutput) } diff --git a/sdk/go/dynatrace/getRemoteEnvironments.go b/sdk/go/dynatrace/getRemoteEnvironments.go index 0e92ce89..c530f23e 100644 --- a/sdk/go/dynatrace/getRemoteEnvironments.go +++ b/sdk/go/dynatrace/getRemoteEnvironments.go @@ -56,18 +56,8 @@ type LookupRemoteEnvironmentsResult struct { func LookupRemoteEnvironmentsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupRemoteEnvironmentsResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (LookupRemoteEnvironmentsResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupRemoteEnvironmentsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getRemoteEnvironments:getRemoteEnvironments", nil, &rv, "", opts...) - if err != nil { - return LookupRemoteEnvironmentsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupRemoteEnvironmentsResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupRemoteEnvironmentsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getRemoteEnvironments:getRemoteEnvironments", nil, LookupRemoteEnvironmentsResultOutput{}, options).(LookupRemoteEnvironmentsResultOutput), nil }).(LookupRemoteEnvironmentsResultOutput) } diff --git a/sdk/go/dynatrace/getRequestAttribute.go b/sdk/go/dynatrace/getRequestAttribute.go index 538a10de..1a75172d 100644 --- a/sdk/go/dynatrace/getRequestAttribute.go +++ b/sdk/go/dynatrace/getRequestAttribute.go @@ -64,21 +64,11 @@ type LookupRequestAttributeResult struct { } func LookupRequestAttributeOutput(ctx *pulumi.Context, args LookupRequestAttributeOutputArgs, opts ...pulumi.InvokeOption) LookupRequestAttributeResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupRequestAttributeResultOutput, error) { args := v.(LookupRequestAttributeArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupRequestAttributeResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getRequestAttribute:getRequestAttribute", args, &rv, "", opts...) - if err != nil { - return LookupRequestAttributeResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupRequestAttributeResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupRequestAttributeResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getRequestAttribute:getRequestAttribute", args, LookupRequestAttributeResultOutput{}, options).(LookupRequestAttributeResultOutput), nil }).(LookupRequestAttributeResultOutput) } diff --git a/sdk/go/dynatrace/getRequestNaming.go b/sdk/go/dynatrace/getRequestNaming.go index 70605831..1b32fd10 100644 --- a/sdk/go/dynatrace/getRequestNaming.go +++ b/sdk/go/dynatrace/getRequestNaming.go @@ -66,21 +66,11 @@ type LookupRequestNamingResult struct { } func LookupRequestNamingOutput(ctx *pulumi.Context, args LookupRequestNamingOutputArgs, opts ...pulumi.InvokeOption) LookupRequestNamingResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupRequestNamingResultOutput, error) { args := v.(LookupRequestNamingArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupRequestNamingResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getRequestNaming:getRequestNaming", args, &rv, "", opts...) - if err != nil { - return LookupRequestNamingResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupRequestNamingResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupRequestNamingResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getRequestNaming:getRequestNaming", args, LookupRequestNamingResultOutput{}, options).(LookupRequestNamingResultOutput), nil }).(LookupRequestNamingResultOutput) } diff --git a/sdk/go/dynatrace/getService.go b/sdk/go/dynatrace/getService.go index 53052f50..29ecd550 100644 --- a/sdk/go/dynatrace/getService.go +++ b/sdk/go/dynatrace/getService.go @@ -84,21 +84,11 @@ type GetServiceResult struct { } func GetServiceOutput(ctx *pulumi.Context, args GetServiceOutputArgs, opts ...pulumi.InvokeOption) GetServiceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetServiceResultOutput, error) { args := v.(GetServiceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetServiceResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getService:getService", args, &rv, "", opts...) - if err != nil { - return GetServiceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetServiceResultOutput) - if secret { - return pulumi.ToSecret(output).(GetServiceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getService:getService", args, GetServiceResultOutput{}, options).(GetServiceResultOutput), nil }).(GetServiceResultOutput) } diff --git a/sdk/go/dynatrace/getSlo.go b/sdk/go/dynatrace/getSlo.go index 3d15c184..93d1e19d 100644 --- a/sdk/go/dynatrace/getSlo.go +++ b/sdk/go/dynatrace/getSlo.go @@ -90,21 +90,11 @@ type LookupSloResult struct { } func LookupSloOutput(ctx *pulumi.Context, args LookupSloOutputArgs, opts ...pulumi.InvokeOption) LookupSloResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupSloResultOutput, error) { args := v.(LookupSloArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupSloResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getSlo:getSlo", args, &rv, "", opts...) - if err != nil { - return LookupSloResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupSloResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupSloResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getSlo:getSlo", args, LookupSloResultOutput{}, options).(LookupSloResultOutput), nil }).(LookupSloResultOutput) } diff --git a/sdk/go/dynatrace/getSyntheticLocation.go b/sdk/go/dynatrace/getSyntheticLocation.go index 61a88e21..af36c9ac 100644 --- a/sdk/go/dynatrace/getSyntheticLocation.go +++ b/sdk/go/dynatrace/getSyntheticLocation.go @@ -49,21 +49,11 @@ type LookupSyntheticLocationResult struct { } func LookupSyntheticLocationOutput(ctx *pulumi.Context, args LookupSyntheticLocationOutputArgs, opts ...pulumi.InvokeOption) LookupSyntheticLocationResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupSyntheticLocationResultOutput, error) { args := v.(LookupSyntheticLocationArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupSyntheticLocationResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getSyntheticLocation:getSyntheticLocation", args, &rv, "", opts...) - if err != nil { - return LookupSyntheticLocationResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupSyntheticLocationResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupSyntheticLocationResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getSyntheticLocation:getSyntheticLocation", args, LookupSyntheticLocationResultOutput{}, options).(LookupSyntheticLocationResultOutput), nil }).(LookupSyntheticLocationResultOutput) } diff --git a/sdk/go/dynatrace/getSyntheticLocations.go b/sdk/go/dynatrace/getSyntheticLocations.go index 6e36b466..ab7224ed 100644 --- a/sdk/go/dynatrace/getSyntheticLocations.go +++ b/sdk/go/dynatrace/getSyntheticLocations.go @@ -113,21 +113,11 @@ type GetSyntheticLocationsResult struct { } func GetSyntheticLocationsOutput(ctx *pulumi.Context, args GetSyntheticLocationsOutputArgs, opts ...pulumi.InvokeOption) GetSyntheticLocationsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetSyntheticLocationsResultOutput, error) { args := v.(GetSyntheticLocationsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetSyntheticLocationsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getSyntheticLocations:getSyntheticLocations", args, &rv, "", opts...) - if err != nil { - return GetSyntheticLocationsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetSyntheticLocationsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetSyntheticLocationsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getSyntheticLocations:getSyntheticLocations", args, GetSyntheticLocationsResultOutput{}, options).(GetSyntheticLocationsResultOutput), nil }).(GetSyntheticLocationsResultOutput) } diff --git a/sdk/go/dynatrace/getSyntheticNodes.go b/sdk/go/dynatrace/getSyntheticNodes.go index 61f3ce2e..4278f776 100644 --- a/sdk/go/dynatrace/getSyntheticNodes.go +++ b/sdk/go/dynatrace/getSyntheticNodes.go @@ -31,18 +31,8 @@ type GetSyntheticNodesResult struct { func GetSyntheticNodesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetSyntheticNodesResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetSyntheticNodesResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetSyntheticNodesResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getSyntheticNodes:getSyntheticNodes", nil, &rv, "", opts...) - if err != nil { - return GetSyntheticNodesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetSyntheticNodesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetSyntheticNodesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getSyntheticNodes:getSyntheticNodes", nil, GetSyntheticNodesResultOutput{}, options).(GetSyntheticNodesResultOutput), nil }).(GetSyntheticNodesResultOutput) } diff --git a/sdk/go/dynatrace/getTenant.go b/sdk/go/dynatrace/getTenant.go index 2e3e20d0..a0831831 100644 --- a/sdk/go/dynatrace/getTenant.go +++ b/sdk/go/dynatrace/getTenant.go @@ -32,18 +32,8 @@ type GetTenantResult struct { func GetTenantOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetTenantResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetTenantResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetTenantResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getTenant:getTenant", nil, &rv, "", opts...) - if err != nil { - return GetTenantResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetTenantResultOutput) - if secret { - return pulumi.ToSecret(output).(GetTenantResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getTenant:getTenant", nil, GetTenantResultOutput{}, options).(GetTenantResultOutput), nil }).(GetTenantResultOutput) } diff --git a/sdk/go/dynatrace/getUpdateWindows.go b/sdk/go/dynatrace/getUpdateWindows.go index 4dc5049e..3c41bfda 100644 --- a/sdk/go/dynatrace/getUpdateWindows.go +++ b/sdk/go/dynatrace/getUpdateWindows.go @@ -64,21 +64,11 @@ type LookupUpdateWindowsResult struct { } func LookupUpdateWindowsOutput(ctx *pulumi.Context, args LookupUpdateWindowsOutputArgs, opts ...pulumi.InvokeOption) LookupUpdateWindowsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupUpdateWindowsResultOutput, error) { args := v.(LookupUpdateWindowsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupUpdateWindowsResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getUpdateWindows:getUpdateWindows", args, &rv, "", opts...) - if err != nil { - return LookupUpdateWindowsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupUpdateWindowsResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupUpdateWindowsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getUpdateWindows:getUpdateWindows", args, LookupUpdateWindowsResultOutput{}, options).(LookupUpdateWindowsResultOutput), nil }).(LookupUpdateWindowsResultOutput) } diff --git a/sdk/go/dynatrace/getVulnerabilityAlerting.go b/sdk/go/dynatrace/getVulnerabilityAlerting.go index d7af6187..edbaf98a 100644 --- a/sdk/go/dynatrace/getVulnerabilityAlerting.go +++ b/sdk/go/dynatrace/getVulnerabilityAlerting.go @@ -66,21 +66,11 @@ type LookupVulnerabilityAlertingResult struct { } func LookupVulnerabilityAlertingOutput(ctx *pulumi.Context, args LookupVulnerabilityAlertingOutputArgs, opts ...pulumi.InvokeOption) LookupVulnerabilityAlertingResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVulnerabilityAlertingResultOutput, error) { args := v.(LookupVulnerabilityAlertingArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVulnerabilityAlertingResult - secret, err := ctx.InvokePackageRaw("dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting", args, &rv, "", opts...) - if err != nil { - return LookupVulnerabilityAlertingResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVulnerabilityAlertingResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVulnerabilityAlertingResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting", args, LookupVulnerabilityAlertingResultOutput{}, options).(LookupVulnerabilityAlertingResultOutput), nil }).(LookupVulnerabilityAlertingResultOutput) } diff --git a/sdk/go/dynatrace/gitlabConnection.go b/sdk/go/dynatrace/gitlabConnection.go new file mode 100644 index 00000000..96ec103f --- /dev/null +++ b/sdk/go/dynatrace/gitlabConnection.go @@ -0,0 +1,258 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type GitlabConnection struct { + pulumi.CustomResourceState + + // A unique and clearly identifiable connection name to your GitLab instance. + Name pulumi.StringOutput `pulumi:"name"` + // The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + Token pulumi.StringOutput `pulumi:"token"` + // The GitLab URL instance you want to connect. For example, https://gitlab.com + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewGitlabConnection registers a new resource with the given unique name, arguments, and options. +func NewGitlabConnection(ctx *pulumi.Context, + name string, args *GitlabConnectionArgs, opts ...pulumi.ResourceOption) (*GitlabConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Token == nil { + return nil, errors.New("invalid value for required argument 'Token'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource GitlabConnection + err := ctx.RegisterResource("dynatrace:index/gitlabConnection:GitlabConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGitlabConnection gets an existing GitlabConnection 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 GetGitlabConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GitlabConnectionState, opts ...pulumi.ResourceOption) (*GitlabConnection, error) { + var resource GitlabConnection + err := ctx.ReadResource("dynatrace:index/gitlabConnection:GitlabConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GitlabConnection resources. +type gitlabConnectionState struct { + // A unique and clearly identifiable connection name to your GitLab instance. + Name *string `pulumi:"name"` + // The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + Token *string `pulumi:"token"` + // The GitLab URL instance you want to connect. For example, https://gitlab.com + Url *string `pulumi:"url"` +} + +type GitlabConnectionState struct { + // A unique and clearly identifiable connection name to your GitLab instance. + Name pulumi.StringPtrInput + // The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + Token pulumi.StringPtrInput + // The GitLab URL instance you want to connect. For example, https://gitlab.com + Url pulumi.StringPtrInput +} + +func (GitlabConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*gitlabConnectionState)(nil)).Elem() +} + +type gitlabConnectionArgs struct { + // A unique and clearly identifiable connection name to your GitLab instance. + Name *string `pulumi:"name"` + // The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + Token string `pulumi:"token"` + // The GitLab URL instance you want to connect. For example, https://gitlab.com + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a GitlabConnection resource. +type GitlabConnectionArgs struct { + // A unique and clearly identifiable connection name to your GitLab instance. + Name pulumi.StringPtrInput + // The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + Token pulumi.StringInput + // The GitLab URL instance you want to connect. For example, https://gitlab.com + Url pulumi.StringInput +} + +func (GitlabConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*gitlabConnectionArgs)(nil)).Elem() +} + +type GitlabConnectionInput interface { + pulumi.Input + + ToGitlabConnectionOutput() GitlabConnectionOutput + ToGitlabConnectionOutputWithContext(ctx context.Context) GitlabConnectionOutput +} + +func (*GitlabConnection) ElementType() reflect.Type { + return reflect.TypeOf((**GitlabConnection)(nil)).Elem() +} + +func (i *GitlabConnection) ToGitlabConnectionOutput() GitlabConnectionOutput { + return i.ToGitlabConnectionOutputWithContext(context.Background()) +} + +func (i *GitlabConnection) ToGitlabConnectionOutputWithContext(ctx context.Context) GitlabConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GitlabConnectionOutput) +} + +// GitlabConnectionArrayInput is an input type that accepts GitlabConnectionArray and GitlabConnectionArrayOutput values. +// You can construct a concrete instance of `GitlabConnectionArrayInput` via: +// +// GitlabConnectionArray{ GitlabConnectionArgs{...} } +type GitlabConnectionArrayInput interface { + pulumi.Input + + ToGitlabConnectionArrayOutput() GitlabConnectionArrayOutput + ToGitlabConnectionArrayOutputWithContext(context.Context) GitlabConnectionArrayOutput +} + +type GitlabConnectionArray []GitlabConnectionInput + +func (GitlabConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GitlabConnection)(nil)).Elem() +} + +func (i GitlabConnectionArray) ToGitlabConnectionArrayOutput() GitlabConnectionArrayOutput { + return i.ToGitlabConnectionArrayOutputWithContext(context.Background()) +} + +func (i GitlabConnectionArray) ToGitlabConnectionArrayOutputWithContext(ctx context.Context) GitlabConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GitlabConnectionArrayOutput) +} + +// GitlabConnectionMapInput is an input type that accepts GitlabConnectionMap and GitlabConnectionMapOutput values. +// You can construct a concrete instance of `GitlabConnectionMapInput` via: +// +// GitlabConnectionMap{ "key": GitlabConnectionArgs{...} } +type GitlabConnectionMapInput interface { + pulumi.Input + + ToGitlabConnectionMapOutput() GitlabConnectionMapOutput + ToGitlabConnectionMapOutputWithContext(context.Context) GitlabConnectionMapOutput +} + +type GitlabConnectionMap map[string]GitlabConnectionInput + +func (GitlabConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GitlabConnection)(nil)).Elem() +} + +func (i GitlabConnectionMap) ToGitlabConnectionMapOutput() GitlabConnectionMapOutput { + return i.ToGitlabConnectionMapOutputWithContext(context.Background()) +} + +func (i GitlabConnectionMap) ToGitlabConnectionMapOutputWithContext(ctx context.Context) GitlabConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GitlabConnectionMapOutput) +} + +type GitlabConnectionOutput struct{ *pulumi.OutputState } + +func (GitlabConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GitlabConnection)(nil)).Elem() +} + +func (o GitlabConnectionOutput) ToGitlabConnectionOutput() GitlabConnectionOutput { + return o +} + +func (o GitlabConnectionOutput) ToGitlabConnectionOutputWithContext(ctx context.Context) GitlabConnectionOutput { + return o +} + +// A unique and clearly identifiable connection name to your GitLab instance. +func (o GitlabConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *GitlabConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. +func (o GitlabConnectionOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *GitlabConnection) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// The GitLab URL instance you want to connect. For example, https://gitlab.com +func (o GitlabConnectionOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *GitlabConnection) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type GitlabConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GitlabConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GitlabConnection)(nil)).Elem() +} + +func (o GitlabConnectionArrayOutput) ToGitlabConnectionArrayOutput() GitlabConnectionArrayOutput { + return o +} + +func (o GitlabConnectionArrayOutput) ToGitlabConnectionArrayOutputWithContext(ctx context.Context) GitlabConnectionArrayOutput { + return o +} + +func (o GitlabConnectionArrayOutput) Index(i pulumi.IntInput) GitlabConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GitlabConnection { + return vs[0].([]*GitlabConnection)[vs[1].(int)] + }).(GitlabConnectionOutput) +} + +type GitlabConnectionMapOutput struct{ *pulumi.OutputState } + +func (GitlabConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GitlabConnection)(nil)).Elem() +} + +func (o GitlabConnectionMapOutput) ToGitlabConnectionMapOutput() GitlabConnectionMapOutput { + return o +} + +func (o GitlabConnectionMapOutput) ToGitlabConnectionMapOutputWithContext(ctx context.Context) GitlabConnectionMapOutput { + return o +} + +func (o GitlabConnectionMapOutput) MapIndex(k pulumi.StringInput) GitlabConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GitlabConnection { + return vs[0].(map[string]*GitlabConnection)[vs[1].(string)] + }).(GitlabConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GitlabConnectionInput)(nil)).Elem(), &GitlabConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*GitlabConnectionArrayInput)(nil)).Elem(), GitlabConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GitlabConnectionMapInput)(nil)).Elem(), GitlabConnectionMap{}) + pulumi.RegisterOutputType(GitlabConnectionOutput{}) + pulumi.RegisterOutputType(GitlabConnectionArrayOutput{}) + pulumi.RegisterOutputType(GitlabConnectionMapOutput{}) +} diff --git a/sdk/go/dynatrace/infraopsAppSettings.go b/sdk/go/dynatrace/infraopsAppSettings.go index 66651780..c0ec3c24 100644 --- a/sdk/go/dynatrace/infraopsAppSettings.go +++ b/sdk/go/dynatrace/infraopsAppSettings.go @@ -15,6 +15,8 @@ import ( type InfraopsAppSettings struct { pulumi.CustomResourceState + // (Required v305+) The threshold at which a network device interface is deemed to be saturated. + InterfaceSaturationThreshold pulumi.Float64PtrOutput `pulumi:"interfaceSaturationThreshold"` // When set to true, the app will display monitoring candidates in the Hosts table ShowMonitoringCandidates pulumi.BoolOutput `pulumi:"showMonitoringCandidates"` // When set to true, the app will display app only hosts in the Hosts table @@ -57,6 +59,8 @@ func GetInfraopsAppSettings(ctx *pulumi.Context, // Input properties used for looking up and filtering InfraopsAppSettings resources. type infraopsAppSettingsState struct { + // (Required v305+) The threshold at which a network device interface is deemed to be saturated. + InterfaceSaturationThreshold *float64 `pulumi:"interfaceSaturationThreshold"` // When set to true, the app will display monitoring candidates in the Hosts table ShowMonitoringCandidates *bool `pulumi:"showMonitoringCandidates"` // When set to true, the app will display app only hosts in the Hosts table @@ -64,6 +68,8 @@ type infraopsAppSettingsState struct { } type InfraopsAppSettingsState struct { + // (Required v305+) The threshold at which a network device interface is deemed to be saturated. + InterfaceSaturationThreshold pulumi.Float64PtrInput // When set to true, the app will display monitoring candidates in the Hosts table ShowMonitoringCandidates pulumi.BoolPtrInput // When set to true, the app will display app only hosts in the Hosts table @@ -75,6 +81,8 @@ func (InfraopsAppSettingsState) ElementType() reflect.Type { } type infraopsAppSettingsArgs struct { + // (Required v305+) The threshold at which a network device interface is deemed to be saturated. + InterfaceSaturationThreshold *float64 `pulumi:"interfaceSaturationThreshold"` // When set to true, the app will display monitoring candidates in the Hosts table ShowMonitoringCandidates bool `pulumi:"showMonitoringCandidates"` // When set to true, the app will display app only hosts in the Hosts table @@ -83,6 +91,8 @@ type infraopsAppSettingsArgs struct { // The set of arguments for constructing a InfraopsAppSettings resource. type InfraopsAppSettingsArgs struct { + // (Required v305+) The threshold at which a network device interface is deemed to be saturated. + InterfaceSaturationThreshold pulumi.Float64PtrInput // When set to true, the app will display monitoring candidates in the Hosts table ShowMonitoringCandidates pulumi.BoolInput // When set to true, the app will display app only hosts in the Hosts table @@ -176,6 +186,11 @@ func (o InfraopsAppSettingsOutput) ToInfraopsAppSettingsOutputWithContext(ctx co return o } +// (Required v305+) The threshold at which a network device interface is deemed to be saturated. +func (o InfraopsAppSettingsOutput) InterfaceSaturationThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *InfraopsAppSettings) pulumi.Float64PtrOutput { return v.InterfaceSaturationThreshold }).(pulumi.Float64PtrOutput) +} + // When set to true, the app will display monitoring candidates in the Hosts table func (o InfraopsAppSettingsOutput) ShowMonitoringCandidates() pulumi.BoolOutput { return o.ApplyT(func(v *InfraopsAppSettings) pulumi.BoolOutput { return v.ShowMonitoringCandidates }).(pulumi.BoolOutput) diff --git a/sdk/go/dynatrace/init.go b/sdk/go/dynatrace/init.go index 7ce71275..fa40de63 100644 --- a/sdk/go/dynatrace/init.go +++ b/sdk/go/dynatrace/init.go @@ -73,6 +73,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AuditLog{} case "dynatrace:index/automationBusinessCalendar:AutomationBusinessCalendar": r = &AutomationBusinessCalendar{} + case "dynatrace:index/automationControllerConnections:AutomationControllerConnections": + r = &AutomationControllerConnections{} case "dynatrace:index/automationSchedulingRule:AutomationSchedulingRule": r = &AutomationSchedulingRule{} case "dynatrace:index/automationWorkflow:AutomationWorkflow": @@ -193,6 +195,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DduPool{} case "dynatrace:index/declarativeGrouping:DeclarativeGrouping": r = &DeclarativeGrouping{} + case "dynatrace:index/defaultLaunchpad:DefaultLaunchpad": + r = &DefaultLaunchpad{} case "dynatrace:index/devobsAgentOptin:DevobsAgentOptin": r = &DevobsAgentOptin{} case "dynatrace:index/devobsDataMasking:DevobsDataMasking": @@ -229,6 +233,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Environment{} case "dynatrace:index/eulaSettings:EulaSettings": r = &EulaSettings{} + case "dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections": + r = &EventDrivenAnsibleConnections{} case "dynatrace:index/extensionExecutionController:ExtensionExecutionController": r = &ExtensionExecutionController{} case "dynatrace:index/extensionExecutionRemote:ExtensionExecutionRemote": @@ -247,6 +253,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &GenericTypes{} case "dynatrace:index/geolocation:Geolocation": r = &Geolocation{} + case "dynatrace:index/gitlabConnection:GitlabConnection": + r = &GitlabConnection{} case "dynatrace:index/goldenState:GoldenState": r = &GoldenState{} case "dynatrace:index/grailMetricsAllowall:GrailMetricsAllowall": @@ -313,6 +321,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &IpAddressMasking{} case "dynatrace:index/issueTracking:IssueTracking": r = &IssueTracking{} + case "dynatrace:index/jenkinsConnection:JenkinsConnection": + r = &JenkinsConnection{} case "dynatrace:index/jiraNotification:JiraNotification": r = &JiraNotification{} case "dynatrace:index/jsonDashboard:JsonDashboard": @@ -443,6 +453,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &MonitoredTechnologiesVarnish{} case "dynatrace:index/monitoredTechnologiesWsmb:MonitoredTechnologiesWsmb": r = &MonitoredTechnologiesWsmb{} + case "dynatrace:index/msentraidConnection:MsentraidConnection": + r = &MsentraidConnection{} + case "dynatrace:index/msteamsConnection:MsteamsConnection": + r = &MsteamsConnection{} case "dynatrace:index/mutedRequests:MutedRequests": r = &MutedRequests{} case "dynatrace:index/nettracer:Nettracer": @@ -491,6 +505,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &OwnershipTeams{} case "dynatrace:index/pagerDutyNotification:PagerDutyNotification": r = &PagerDutyNotification{} + case "dynatrace:index/pagerdutyConnection:PagerdutyConnection": + r = &PagerdutyConnection{} case "dynatrace:index/pgAlerting:PgAlerting": r = &PgAlerting{} case "dynatrace:index/pgAnomalies:PgAnomalies": @@ -501,6 +517,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Policy{} case "dynatrace:index/policyBindings:PolicyBindings": r = &PolicyBindings{} + case "dynatrace:index/problemFields:ProblemFields": + r = &ProblemFields{} case "dynatrace:index/problemRecordPropagationRules:ProblemRecordPropagationRules": r = &ProblemRecordPropagationRules{} case "dynatrace:index/processAvailability:ProcessAvailability": @@ -571,6 +589,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ServiceNaming{} case "dynatrace:index/serviceNowNotification:ServiceNowNotification": r = &ServiceNowNotification{} + case "dynatrace:index/servicenowConnection:ServicenowConnection": + r = &ServicenowConnection{} case "dynatrace:index/sessionReplayResourceCapture:SessionReplayResourceCapture": r = &SessionReplayResourceCapture{} case "dynatrace:index/sessionReplayWebPrivacy:SessionReplayWebPrivacy": @@ -840,6 +860,11 @@ func init() { "index/automationBusinessCalendar", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/automationControllerConnections", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/automationSchedulingRule", @@ -1140,6 +1165,11 @@ func init() { "index/declarativeGrouping", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/defaultLaunchpad", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/devobsAgentOptin", @@ -1230,6 +1260,11 @@ func init() { "index/eulaSettings", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/eventDrivenAnsibleConnections", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/extensionExecutionController", @@ -1275,6 +1310,11 @@ func init() { "index/geolocation", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/gitlabConnection", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/goldenState", @@ -1440,6 +1480,11 @@ func init() { "index/issueTracking", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/jenkinsConnection", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/jiraNotification", @@ -1765,6 +1810,16 @@ func init() { "index/monitoredTechnologiesWsmb", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/msentraidConnection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/msteamsConnection", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/mutedRequests", @@ -1885,6 +1940,11 @@ func init() { "index/pagerDutyNotification", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/pagerdutyConnection", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/pgAlerting", @@ -1910,6 +1970,11 @@ func init() { "index/policyBindings", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/problemFields", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/problemRecordPropagationRules", @@ -2085,6 +2150,11 @@ func init() { "index/serviceNowNotification", &module{version}, ) + pulumi.RegisterResourceModule( + "dynatrace", + "index/servicenowConnection", + &module{version}, + ) pulumi.RegisterResourceModule( "dynatrace", "index/sessionReplayResourceCapture", diff --git a/sdk/go/dynatrace/jenkinsConnection.go b/sdk/go/dynatrace/jenkinsConnection.go new file mode 100644 index 00000000..6af72ebc --- /dev/null +++ b/sdk/go/dynatrace/jenkinsConnection.go @@ -0,0 +1,276 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type JenkinsConnection struct { + pulumi.CustomResourceState + + // The name of the Jenkins connection + Name pulumi.StringOutput `pulumi:"name"` + // The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + Password pulumi.StringOutput `pulumi:"password"` + // Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + Url pulumi.StringOutput `pulumi:"url"` + // The name of your Jenkins user (e.g. jenkins) + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewJenkinsConnection registers a new resource with the given unique name, arguments, and options. +func NewJenkinsConnection(ctx *pulumi.Context, + name string, args *JenkinsConnectionArgs, opts ...pulumi.ResourceOption) (*JenkinsConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Password == nil { + return nil, errors.New("invalid value for required argument 'Password'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Username == nil { + return nil, errors.New("invalid value for required argument 'Username'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource JenkinsConnection + err := ctx.RegisterResource("dynatrace:index/jenkinsConnection:JenkinsConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetJenkinsConnection gets an existing JenkinsConnection 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 GetJenkinsConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *JenkinsConnectionState, opts ...pulumi.ResourceOption) (*JenkinsConnection, error) { + var resource JenkinsConnection + err := ctx.ReadResource("dynatrace:index/jenkinsConnection:JenkinsConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering JenkinsConnection resources. +type jenkinsConnectionState struct { + // The name of the Jenkins connection + Name *string `pulumi:"name"` + // The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + Password *string `pulumi:"password"` + // Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + Url *string `pulumi:"url"` + // The name of your Jenkins user (e.g. jenkins) + Username *string `pulumi:"username"` +} + +type JenkinsConnectionState struct { + // The name of the Jenkins connection + Name pulumi.StringPtrInput + // The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + Password pulumi.StringPtrInput + // Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + Url pulumi.StringPtrInput + // The name of your Jenkins user (e.g. jenkins) + Username pulumi.StringPtrInput +} + +func (JenkinsConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*jenkinsConnectionState)(nil)).Elem() +} + +type jenkinsConnectionArgs struct { + // The name of the Jenkins connection + Name *string `pulumi:"name"` + // The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + Password string `pulumi:"password"` + // Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + Url string `pulumi:"url"` + // The name of your Jenkins user (e.g. jenkins) + Username string `pulumi:"username"` +} + +// The set of arguments for constructing a JenkinsConnection resource. +type JenkinsConnectionArgs struct { + // The name of the Jenkins connection + Name pulumi.StringPtrInput + // The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + Password pulumi.StringInput + // Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + Url pulumi.StringInput + // The name of your Jenkins user (e.g. jenkins) + Username pulumi.StringInput +} + +func (JenkinsConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*jenkinsConnectionArgs)(nil)).Elem() +} + +type JenkinsConnectionInput interface { + pulumi.Input + + ToJenkinsConnectionOutput() JenkinsConnectionOutput + ToJenkinsConnectionOutputWithContext(ctx context.Context) JenkinsConnectionOutput +} + +func (*JenkinsConnection) ElementType() reflect.Type { + return reflect.TypeOf((**JenkinsConnection)(nil)).Elem() +} + +func (i *JenkinsConnection) ToJenkinsConnectionOutput() JenkinsConnectionOutput { + return i.ToJenkinsConnectionOutputWithContext(context.Background()) +} + +func (i *JenkinsConnection) ToJenkinsConnectionOutputWithContext(ctx context.Context) JenkinsConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(JenkinsConnectionOutput) +} + +// JenkinsConnectionArrayInput is an input type that accepts JenkinsConnectionArray and JenkinsConnectionArrayOutput values. +// You can construct a concrete instance of `JenkinsConnectionArrayInput` via: +// +// JenkinsConnectionArray{ JenkinsConnectionArgs{...} } +type JenkinsConnectionArrayInput interface { + pulumi.Input + + ToJenkinsConnectionArrayOutput() JenkinsConnectionArrayOutput + ToJenkinsConnectionArrayOutputWithContext(context.Context) JenkinsConnectionArrayOutput +} + +type JenkinsConnectionArray []JenkinsConnectionInput + +func (JenkinsConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*JenkinsConnection)(nil)).Elem() +} + +func (i JenkinsConnectionArray) ToJenkinsConnectionArrayOutput() JenkinsConnectionArrayOutput { + return i.ToJenkinsConnectionArrayOutputWithContext(context.Background()) +} + +func (i JenkinsConnectionArray) ToJenkinsConnectionArrayOutputWithContext(ctx context.Context) JenkinsConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JenkinsConnectionArrayOutput) +} + +// JenkinsConnectionMapInput is an input type that accepts JenkinsConnectionMap and JenkinsConnectionMapOutput values. +// You can construct a concrete instance of `JenkinsConnectionMapInput` via: +// +// JenkinsConnectionMap{ "key": JenkinsConnectionArgs{...} } +type JenkinsConnectionMapInput interface { + pulumi.Input + + ToJenkinsConnectionMapOutput() JenkinsConnectionMapOutput + ToJenkinsConnectionMapOutputWithContext(context.Context) JenkinsConnectionMapOutput +} + +type JenkinsConnectionMap map[string]JenkinsConnectionInput + +func (JenkinsConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*JenkinsConnection)(nil)).Elem() +} + +func (i JenkinsConnectionMap) ToJenkinsConnectionMapOutput() JenkinsConnectionMapOutput { + return i.ToJenkinsConnectionMapOutputWithContext(context.Background()) +} + +func (i JenkinsConnectionMap) ToJenkinsConnectionMapOutputWithContext(ctx context.Context) JenkinsConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(JenkinsConnectionMapOutput) +} + +type JenkinsConnectionOutput struct{ *pulumi.OutputState } + +func (JenkinsConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JenkinsConnection)(nil)).Elem() +} + +func (o JenkinsConnectionOutput) ToJenkinsConnectionOutput() JenkinsConnectionOutput { + return o +} + +func (o JenkinsConnectionOutput) ToJenkinsConnectionOutputWithContext(ctx context.Context) JenkinsConnectionOutput { + return o +} + +// The name of the Jenkins connection +func (o JenkinsConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *JenkinsConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) +func (o JenkinsConnectionOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *JenkinsConnection) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) +func (o JenkinsConnectionOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *JenkinsConnection) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +// The name of your Jenkins user (e.g. jenkins) +func (o JenkinsConnectionOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *JenkinsConnection) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +type JenkinsConnectionArrayOutput struct{ *pulumi.OutputState } + +func (JenkinsConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*JenkinsConnection)(nil)).Elem() +} + +func (o JenkinsConnectionArrayOutput) ToJenkinsConnectionArrayOutput() JenkinsConnectionArrayOutput { + return o +} + +func (o JenkinsConnectionArrayOutput) ToJenkinsConnectionArrayOutputWithContext(ctx context.Context) JenkinsConnectionArrayOutput { + return o +} + +func (o JenkinsConnectionArrayOutput) Index(i pulumi.IntInput) JenkinsConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *JenkinsConnection { + return vs[0].([]*JenkinsConnection)[vs[1].(int)] + }).(JenkinsConnectionOutput) +} + +type JenkinsConnectionMapOutput struct{ *pulumi.OutputState } + +func (JenkinsConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*JenkinsConnection)(nil)).Elem() +} + +func (o JenkinsConnectionMapOutput) ToJenkinsConnectionMapOutput() JenkinsConnectionMapOutput { + return o +} + +func (o JenkinsConnectionMapOutput) ToJenkinsConnectionMapOutputWithContext(ctx context.Context) JenkinsConnectionMapOutput { + return o +} + +func (o JenkinsConnectionMapOutput) MapIndex(k pulumi.StringInput) JenkinsConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *JenkinsConnection { + return vs[0].(map[string]*JenkinsConnection)[vs[1].(string)] + }).(JenkinsConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*JenkinsConnectionInput)(nil)).Elem(), &JenkinsConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*JenkinsConnectionArrayInput)(nil)).Elem(), JenkinsConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JenkinsConnectionMapInput)(nil)).Elem(), JenkinsConnectionMap{}) + pulumi.RegisterOutputType(JenkinsConnectionOutput{}) + pulumi.RegisterOutputType(JenkinsConnectionArrayOutput{}) + pulumi.RegisterOutputType(JenkinsConnectionMapOutput{}) +} diff --git a/sdk/go/dynatrace/logCustomAttribute.go b/sdk/go/dynatrace/logCustomAttribute.go index 38a0a86a..a78d50c5 100644 --- a/sdk/go/dynatrace/logCustomAttribute.go +++ b/sdk/go/dynatrace/logCustomAttribute.go @@ -15,7 +15,7 @@ import ( type LogCustomAttribute struct { pulumi.CustomResourceState - // The attribute key is case insensitive in log data ingestion. + // The attribute key is case sensitive in log data ingestion. Key pulumi.StringOutput `pulumi:"key"` // Show attribute values in side bar Sidebar pulumi.BoolOutput `pulumi:"sidebar"` @@ -57,14 +57,14 @@ func GetLogCustomAttribute(ctx *pulumi.Context, // Input properties used for looking up and filtering LogCustomAttribute resources. type logCustomAttributeState struct { - // The attribute key is case insensitive in log data ingestion. + // The attribute key is case sensitive in log data ingestion. Key *string `pulumi:"key"` // Show attribute values in side bar Sidebar *bool `pulumi:"sidebar"` } type LogCustomAttributeState struct { - // The attribute key is case insensitive in log data ingestion. + // The attribute key is case sensitive in log data ingestion. Key pulumi.StringPtrInput // Show attribute values in side bar Sidebar pulumi.BoolPtrInput @@ -75,7 +75,7 @@ func (LogCustomAttributeState) ElementType() reflect.Type { } type logCustomAttributeArgs struct { - // The attribute key is case insensitive in log data ingestion. + // The attribute key is case sensitive in log data ingestion. Key string `pulumi:"key"` // Show attribute values in side bar Sidebar bool `pulumi:"sidebar"` @@ -83,7 +83,7 @@ type logCustomAttributeArgs struct { // The set of arguments for constructing a LogCustomAttribute resource. type LogCustomAttributeArgs struct { - // The attribute key is case insensitive in log data ingestion. + // The attribute key is case sensitive in log data ingestion. Key pulumi.StringInput // Show attribute values in side bar Sidebar pulumi.BoolInput @@ -176,7 +176,7 @@ func (o LogCustomAttributeOutput) ToLogCustomAttributeOutputWithContext(ctx cont return o } -// The attribute key is case insensitive in log data ingestion. +// The attribute key is case sensitive in log data ingestion. func (o LogCustomAttributeOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v *LogCustomAttribute) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) } diff --git a/sdk/go/dynatrace/msentraidConnection.go b/sdk/go/dynatrace/msentraidConnection.go new file mode 100644 index 00000000..68e965d7 --- /dev/null +++ b/sdk/go/dynatrace/msentraidConnection.go @@ -0,0 +1,299 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type MsentraidConnection struct { + pulumi.CustomResourceState + + // Application (client) ID of your app registered in Microsoft Azure App registrations + ApplicationId pulumi.StringOutput `pulumi:"applicationId"` + // Client secret of your app registered in Microsoft Azure App registrations + ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` + // Description + Description pulumi.StringPtrOutput `pulumi:"description"` + // Directory (tenant) ID of Microsoft Entra Identity Developer + DirectoryId pulumi.StringOutput `pulumi:"directoryId"` + // The name of the Microsoft Entra Identity Developer connection + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewMsentraidConnection registers a new resource with the given unique name, arguments, and options. +func NewMsentraidConnection(ctx *pulumi.Context, + name string, args *MsentraidConnectionArgs, opts ...pulumi.ResourceOption) (*MsentraidConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ApplicationId == nil { + return nil, errors.New("invalid value for required argument 'ApplicationId'") + } + if args.ClientSecret == nil { + return nil, errors.New("invalid value for required argument 'ClientSecret'") + } + if args.DirectoryId == nil { + return nil, errors.New("invalid value for required argument 'DirectoryId'") + } + if args.ApplicationId != nil { + args.ApplicationId = pulumi.ToSecret(args.ApplicationId).(pulumi.StringInput) + } + if args.ClientSecret != nil { + args.ClientSecret = pulumi.ToSecret(args.ClientSecret).(pulumi.StringInput) + } + if args.DirectoryId != nil { + args.DirectoryId = pulumi.ToSecret(args.DirectoryId).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "applicationId", + "clientSecret", + "directoryId", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource MsentraidConnection + err := ctx.RegisterResource("dynatrace:index/msentraidConnection:MsentraidConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMsentraidConnection gets an existing MsentraidConnection 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 GetMsentraidConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MsentraidConnectionState, opts ...pulumi.ResourceOption) (*MsentraidConnection, error) { + var resource MsentraidConnection + err := ctx.ReadResource("dynatrace:index/msentraidConnection:MsentraidConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MsentraidConnection resources. +type msentraidConnectionState struct { + // Application (client) ID of your app registered in Microsoft Azure App registrations + ApplicationId *string `pulumi:"applicationId"` + // Client secret of your app registered in Microsoft Azure App registrations + ClientSecret *string `pulumi:"clientSecret"` + // Description + Description *string `pulumi:"description"` + // Directory (tenant) ID of Microsoft Entra Identity Developer + DirectoryId *string `pulumi:"directoryId"` + // The name of the Microsoft Entra Identity Developer connection + Name *string `pulumi:"name"` +} + +type MsentraidConnectionState struct { + // Application (client) ID of your app registered in Microsoft Azure App registrations + ApplicationId pulumi.StringPtrInput + // Client secret of your app registered in Microsoft Azure App registrations + ClientSecret pulumi.StringPtrInput + // Description + Description pulumi.StringPtrInput + // Directory (tenant) ID of Microsoft Entra Identity Developer + DirectoryId pulumi.StringPtrInput + // The name of the Microsoft Entra Identity Developer connection + Name pulumi.StringPtrInput +} + +func (MsentraidConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*msentraidConnectionState)(nil)).Elem() +} + +type msentraidConnectionArgs struct { + // Application (client) ID of your app registered in Microsoft Azure App registrations + ApplicationId string `pulumi:"applicationId"` + // Client secret of your app registered in Microsoft Azure App registrations + ClientSecret string `pulumi:"clientSecret"` + // Description + Description *string `pulumi:"description"` + // Directory (tenant) ID of Microsoft Entra Identity Developer + DirectoryId string `pulumi:"directoryId"` + // The name of the Microsoft Entra Identity Developer connection + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a MsentraidConnection resource. +type MsentraidConnectionArgs struct { + // Application (client) ID of your app registered in Microsoft Azure App registrations + ApplicationId pulumi.StringInput + // Client secret of your app registered in Microsoft Azure App registrations + ClientSecret pulumi.StringInput + // Description + Description pulumi.StringPtrInput + // Directory (tenant) ID of Microsoft Entra Identity Developer + DirectoryId pulumi.StringInput + // The name of the Microsoft Entra Identity Developer connection + Name pulumi.StringPtrInput +} + +func (MsentraidConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*msentraidConnectionArgs)(nil)).Elem() +} + +type MsentraidConnectionInput interface { + pulumi.Input + + ToMsentraidConnectionOutput() MsentraidConnectionOutput + ToMsentraidConnectionOutputWithContext(ctx context.Context) MsentraidConnectionOutput +} + +func (*MsentraidConnection) ElementType() reflect.Type { + return reflect.TypeOf((**MsentraidConnection)(nil)).Elem() +} + +func (i *MsentraidConnection) ToMsentraidConnectionOutput() MsentraidConnectionOutput { + return i.ToMsentraidConnectionOutputWithContext(context.Background()) +} + +func (i *MsentraidConnection) ToMsentraidConnectionOutputWithContext(ctx context.Context) MsentraidConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(MsentraidConnectionOutput) +} + +// MsentraidConnectionArrayInput is an input type that accepts MsentraidConnectionArray and MsentraidConnectionArrayOutput values. +// You can construct a concrete instance of `MsentraidConnectionArrayInput` via: +// +// MsentraidConnectionArray{ MsentraidConnectionArgs{...} } +type MsentraidConnectionArrayInput interface { + pulumi.Input + + ToMsentraidConnectionArrayOutput() MsentraidConnectionArrayOutput + ToMsentraidConnectionArrayOutputWithContext(context.Context) MsentraidConnectionArrayOutput +} + +type MsentraidConnectionArray []MsentraidConnectionInput + +func (MsentraidConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MsentraidConnection)(nil)).Elem() +} + +func (i MsentraidConnectionArray) ToMsentraidConnectionArrayOutput() MsentraidConnectionArrayOutput { + return i.ToMsentraidConnectionArrayOutputWithContext(context.Background()) +} + +func (i MsentraidConnectionArray) ToMsentraidConnectionArrayOutputWithContext(ctx context.Context) MsentraidConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MsentraidConnectionArrayOutput) +} + +// MsentraidConnectionMapInput is an input type that accepts MsentraidConnectionMap and MsentraidConnectionMapOutput values. +// You can construct a concrete instance of `MsentraidConnectionMapInput` via: +// +// MsentraidConnectionMap{ "key": MsentraidConnectionArgs{...} } +type MsentraidConnectionMapInput interface { + pulumi.Input + + ToMsentraidConnectionMapOutput() MsentraidConnectionMapOutput + ToMsentraidConnectionMapOutputWithContext(context.Context) MsentraidConnectionMapOutput +} + +type MsentraidConnectionMap map[string]MsentraidConnectionInput + +func (MsentraidConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MsentraidConnection)(nil)).Elem() +} + +func (i MsentraidConnectionMap) ToMsentraidConnectionMapOutput() MsentraidConnectionMapOutput { + return i.ToMsentraidConnectionMapOutputWithContext(context.Background()) +} + +func (i MsentraidConnectionMap) ToMsentraidConnectionMapOutputWithContext(ctx context.Context) MsentraidConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MsentraidConnectionMapOutput) +} + +type MsentraidConnectionOutput struct{ *pulumi.OutputState } + +func (MsentraidConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MsentraidConnection)(nil)).Elem() +} + +func (o MsentraidConnectionOutput) ToMsentraidConnectionOutput() MsentraidConnectionOutput { + return o +} + +func (o MsentraidConnectionOutput) ToMsentraidConnectionOutputWithContext(ctx context.Context) MsentraidConnectionOutput { + return o +} + +// Application (client) ID of your app registered in Microsoft Azure App registrations +func (o MsentraidConnectionOutput) ApplicationId() pulumi.StringOutput { + return o.ApplyT(func(v *MsentraidConnection) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) +} + +// Client secret of your app registered in Microsoft Azure App registrations +func (o MsentraidConnectionOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v *MsentraidConnection) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) +} + +// Description +func (o MsentraidConnectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MsentraidConnection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Directory (tenant) ID of Microsoft Entra Identity Developer +func (o MsentraidConnectionOutput) DirectoryId() pulumi.StringOutput { + return o.ApplyT(func(v *MsentraidConnection) pulumi.StringOutput { return v.DirectoryId }).(pulumi.StringOutput) +} + +// The name of the Microsoft Entra Identity Developer connection +func (o MsentraidConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *MsentraidConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type MsentraidConnectionArrayOutput struct{ *pulumi.OutputState } + +func (MsentraidConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MsentraidConnection)(nil)).Elem() +} + +func (o MsentraidConnectionArrayOutput) ToMsentraidConnectionArrayOutput() MsentraidConnectionArrayOutput { + return o +} + +func (o MsentraidConnectionArrayOutput) ToMsentraidConnectionArrayOutputWithContext(ctx context.Context) MsentraidConnectionArrayOutput { + return o +} + +func (o MsentraidConnectionArrayOutput) Index(i pulumi.IntInput) MsentraidConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MsentraidConnection { + return vs[0].([]*MsentraidConnection)[vs[1].(int)] + }).(MsentraidConnectionOutput) +} + +type MsentraidConnectionMapOutput struct{ *pulumi.OutputState } + +func (MsentraidConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MsentraidConnection)(nil)).Elem() +} + +func (o MsentraidConnectionMapOutput) ToMsentraidConnectionMapOutput() MsentraidConnectionMapOutput { + return o +} + +func (o MsentraidConnectionMapOutput) ToMsentraidConnectionMapOutputWithContext(ctx context.Context) MsentraidConnectionMapOutput { + return o +} + +func (o MsentraidConnectionMapOutput) MapIndex(k pulumi.StringInput) MsentraidConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MsentraidConnection { + return vs[0].(map[string]*MsentraidConnection)[vs[1].(string)] + }).(MsentraidConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MsentraidConnectionInput)(nil)).Elem(), &MsentraidConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*MsentraidConnectionArrayInput)(nil)).Elem(), MsentraidConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MsentraidConnectionMapInput)(nil)).Elem(), MsentraidConnectionMap{}) + pulumi.RegisterOutputType(MsentraidConnectionOutput{}) + pulumi.RegisterOutputType(MsentraidConnectionArrayOutput{}) + pulumi.RegisterOutputType(MsentraidConnectionMapOutput{}) +} diff --git a/sdk/go/dynatrace/msteamsConnection.go b/sdk/go/dynatrace/msteamsConnection.go new file mode 100644 index 00000000..f6058216 --- /dev/null +++ b/sdk/go/dynatrace/msteamsConnection.go @@ -0,0 +1,270 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type MsteamsConnection struct { + pulumi.CustomResourceState + + // Optional + ChannelName pulumi.StringPtrOutput `pulumi:"channelName"` + // The name of the Microsoft Teams connection + Name pulumi.StringOutput `pulumi:"name"` + // Optional + TeamName pulumi.StringPtrOutput `pulumi:"teamName"` + // The Webhook URL that links to the channel + Webhook pulumi.StringOutput `pulumi:"webhook"` +} + +// NewMsteamsConnection registers a new resource with the given unique name, arguments, and options. +func NewMsteamsConnection(ctx *pulumi.Context, + name string, args *MsteamsConnectionArgs, opts ...pulumi.ResourceOption) (*MsteamsConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Webhook == nil { + return nil, errors.New("invalid value for required argument 'Webhook'") + } + if args.Webhook != nil { + args.Webhook = pulumi.ToSecret(args.Webhook).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "webhook", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource MsteamsConnection + err := ctx.RegisterResource("dynatrace:index/msteamsConnection:MsteamsConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMsteamsConnection gets an existing MsteamsConnection 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 GetMsteamsConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MsteamsConnectionState, opts ...pulumi.ResourceOption) (*MsteamsConnection, error) { + var resource MsteamsConnection + err := ctx.ReadResource("dynatrace:index/msteamsConnection:MsteamsConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MsteamsConnection resources. +type msteamsConnectionState struct { + // Optional + ChannelName *string `pulumi:"channelName"` + // The name of the Microsoft Teams connection + Name *string `pulumi:"name"` + // Optional + TeamName *string `pulumi:"teamName"` + // The Webhook URL that links to the channel + Webhook *string `pulumi:"webhook"` +} + +type MsteamsConnectionState struct { + // Optional + ChannelName pulumi.StringPtrInput + // The name of the Microsoft Teams connection + Name pulumi.StringPtrInput + // Optional + TeamName pulumi.StringPtrInput + // The Webhook URL that links to the channel + Webhook pulumi.StringPtrInput +} + +func (MsteamsConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*msteamsConnectionState)(nil)).Elem() +} + +type msteamsConnectionArgs struct { + // Optional + ChannelName *string `pulumi:"channelName"` + // The name of the Microsoft Teams connection + Name *string `pulumi:"name"` + // Optional + TeamName *string `pulumi:"teamName"` + // The Webhook URL that links to the channel + Webhook string `pulumi:"webhook"` +} + +// The set of arguments for constructing a MsteamsConnection resource. +type MsteamsConnectionArgs struct { + // Optional + ChannelName pulumi.StringPtrInput + // The name of the Microsoft Teams connection + Name pulumi.StringPtrInput + // Optional + TeamName pulumi.StringPtrInput + // The Webhook URL that links to the channel + Webhook pulumi.StringInput +} + +func (MsteamsConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*msteamsConnectionArgs)(nil)).Elem() +} + +type MsteamsConnectionInput interface { + pulumi.Input + + ToMsteamsConnectionOutput() MsteamsConnectionOutput + ToMsteamsConnectionOutputWithContext(ctx context.Context) MsteamsConnectionOutput +} + +func (*MsteamsConnection) ElementType() reflect.Type { + return reflect.TypeOf((**MsteamsConnection)(nil)).Elem() +} + +func (i *MsteamsConnection) ToMsteamsConnectionOutput() MsteamsConnectionOutput { + return i.ToMsteamsConnectionOutputWithContext(context.Background()) +} + +func (i *MsteamsConnection) ToMsteamsConnectionOutputWithContext(ctx context.Context) MsteamsConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(MsteamsConnectionOutput) +} + +// MsteamsConnectionArrayInput is an input type that accepts MsteamsConnectionArray and MsteamsConnectionArrayOutput values. +// You can construct a concrete instance of `MsteamsConnectionArrayInput` via: +// +// MsteamsConnectionArray{ MsteamsConnectionArgs{...} } +type MsteamsConnectionArrayInput interface { + pulumi.Input + + ToMsteamsConnectionArrayOutput() MsteamsConnectionArrayOutput + ToMsteamsConnectionArrayOutputWithContext(context.Context) MsteamsConnectionArrayOutput +} + +type MsteamsConnectionArray []MsteamsConnectionInput + +func (MsteamsConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MsteamsConnection)(nil)).Elem() +} + +func (i MsteamsConnectionArray) ToMsteamsConnectionArrayOutput() MsteamsConnectionArrayOutput { + return i.ToMsteamsConnectionArrayOutputWithContext(context.Background()) +} + +func (i MsteamsConnectionArray) ToMsteamsConnectionArrayOutputWithContext(ctx context.Context) MsteamsConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MsteamsConnectionArrayOutput) +} + +// MsteamsConnectionMapInput is an input type that accepts MsteamsConnectionMap and MsteamsConnectionMapOutput values. +// You can construct a concrete instance of `MsteamsConnectionMapInput` via: +// +// MsteamsConnectionMap{ "key": MsteamsConnectionArgs{...} } +type MsteamsConnectionMapInput interface { + pulumi.Input + + ToMsteamsConnectionMapOutput() MsteamsConnectionMapOutput + ToMsteamsConnectionMapOutputWithContext(context.Context) MsteamsConnectionMapOutput +} + +type MsteamsConnectionMap map[string]MsteamsConnectionInput + +func (MsteamsConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MsteamsConnection)(nil)).Elem() +} + +func (i MsteamsConnectionMap) ToMsteamsConnectionMapOutput() MsteamsConnectionMapOutput { + return i.ToMsteamsConnectionMapOutputWithContext(context.Background()) +} + +func (i MsteamsConnectionMap) ToMsteamsConnectionMapOutputWithContext(ctx context.Context) MsteamsConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MsteamsConnectionMapOutput) +} + +type MsteamsConnectionOutput struct{ *pulumi.OutputState } + +func (MsteamsConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MsteamsConnection)(nil)).Elem() +} + +func (o MsteamsConnectionOutput) ToMsteamsConnectionOutput() MsteamsConnectionOutput { + return o +} + +func (o MsteamsConnectionOutput) ToMsteamsConnectionOutputWithContext(ctx context.Context) MsteamsConnectionOutput { + return o +} + +// Optional +func (o MsteamsConnectionOutput) ChannelName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MsteamsConnection) pulumi.StringPtrOutput { return v.ChannelName }).(pulumi.StringPtrOutput) +} + +// The name of the Microsoft Teams connection +func (o MsteamsConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *MsteamsConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Optional +func (o MsteamsConnectionOutput) TeamName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MsteamsConnection) pulumi.StringPtrOutput { return v.TeamName }).(pulumi.StringPtrOutput) +} + +// The Webhook URL that links to the channel +func (o MsteamsConnectionOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v *MsteamsConnection) pulumi.StringOutput { return v.Webhook }).(pulumi.StringOutput) +} + +type MsteamsConnectionArrayOutput struct{ *pulumi.OutputState } + +func (MsteamsConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MsteamsConnection)(nil)).Elem() +} + +func (o MsteamsConnectionArrayOutput) ToMsteamsConnectionArrayOutput() MsteamsConnectionArrayOutput { + return o +} + +func (o MsteamsConnectionArrayOutput) ToMsteamsConnectionArrayOutputWithContext(ctx context.Context) MsteamsConnectionArrayOutput { + return o +} + +func (o MsteamsConnectionArrayOutput) Index(i pulumi.IntInput) MsteamsConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MsteamsConnection { + return vs[0].([]*MsteamsConnection)[vs[1].(int)] + }).(MsteamsConnectionOutput) +} + +type MsteamsConnectionMapOutput struct{ *pulumi.OutputState } + +func (MsteamsConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MsteamsConnection)(nil)).Elem() +} + +func (o MsteamsConnectionMapOutput) ToMsteamsConnectionMapOutput() MsteamsConnectionMapOutput { + return o +} + +func (o MsteamsConnectionMapOutput) ToMsteamsConnectionMapOutputWithContext(ctx context.Context) MsteamsConnectionMapOutput { + return o +} + +func (o MsteamsConnectionMapOutput) MapIndex(k pulumi.StringInput) MsteamsConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MsteamsConnection { + return vs[0].(map[string]*MsteamsConnection)[vs[1].(string)] + }).(MsteamsConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MsteamsConnectionInput)(nil)).Elem(), &MsteamsConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*MsteamsConnectionArrayInput)(nil)).Elem(), MsteamsConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MsteamsConnectionMapInput)(nil)).Elem(), MsteamsConnectionMap{}) + pulumi.RegisterOutputType(MsteamsConnectionOutput{}) + pulumi.RegisterOutputType(MsteamsConnectionArrayOutput{}) + pulumi.RegisterOutputType(MsteamsConnectionMapOutput{}) +} diff --git a/sdk/go/dynatrace/pagerdutyConnection.go b/sdk/go/dynatrace/pagerdutyConnection.go new file mode 100644 index 00000000..74a7a1d6 --- /dev/null +++ b/sdk/go/dynatrace/pagerdutyConnection.go @@ -0,0 +1,258 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type PagerdutyConnection struct { + pulumi.CustomResourceState + + // The name of the PagerDuty connection + Name pulumi.StringOutput `pulumi:"name"` + // Token for the PagerDuty API endpoint + Token pulumi.StringOutput `pulumi:"token"` + // URL of the PagerDuty API endpoint + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewPagerdutyConnection registers a new resource with the given unique name, arguments, and options. +func NewPagerdutyConnection(ctx *pulumi.Context, + name string, args *PagerdutyConnectionArgs, opts ...pulumi.ResourceOption) (*PagerdutyConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Token == nil { + return nil, errors.New("invalid value for required argument 'Token'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Token != nil { + args.Token = pulumi.ToSecret(args.Token).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource PagerdutyConnection + err := ctx.RegisterResource("dynatrace:index/pagerdutyConnection:PagerdutyConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPagerdutyConnection gets an existing PagerdutyConnection 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 GetPagerdutyConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PagerdutyConnectionState, opts ...pulumi.ResourceOption) (*PagerdutyConnection, error) { + var resource PagerdutyConnection + err := ctx.ReadResource("dynatrace:index/pagerdutyConnection:PagerdutyConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PagerdutyConnection resources. +type pagerdutyConnectionState struct { + // The name of the PagerDuty connection + Name *string `pulumi:"name"` + // Token for the PagerDuty API endpoint + Token *string `pulumi:"token"` + // URL of the PagerDuty API endpoint + Url *string `pulumi:"url"` +} + +type PagerdutyConnectionState struct { + // The name of the PagerDuty connection + Name pulumi.StringPtrInput + // Token for the PagerDuty API endpoint + Token pulumi.StringPtrInput + // URL of the PagerDuty API endpoint + Url pulumi.StringPtrInput +} + +func (PagerdutyConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*pagerdutyConnectionState)(nil)).Elem() +} + +type pagerdutyConnectionArgs struct { + // The name of the PagerDuty connection + Name *string `pulumi:"name"` + // Token for the PagerDuty API endpoint + Token string `pulumi:"token"` + // URL of the PagerDuty API endpoint + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a PagerdutyConnection resource. +type PagerdutyConnectionArgs struct { + // The name of the PagerDuty connection + Name pulumi.StringPtrInput + // Token for the PagerDuty API endpoint + Token pulumi.StringInput + // URL of the PagerDuty API endpoint + Url pulumi.StringInput +} + +func (PagerdutyConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*pagerdutyConnectionArgs)(nil)).Elem() +} + +type PagerdutyConnectionInput interface { + pulumi.Input + + ToPagerdutyConnectionOutput() PagerdutyConnectionOutput + ToPagerdutyConnectionOutputWithContext(ctx context.Context) PagerdutyConnectionOutput +} + +func (*PagerdutyConnection) ElementType() reflect.Type { + return reflect.TypeOf((**PagerdutyConnection)(nil)).Elem() +} + +func (i *PagerdutyConnection) ToPagerdutyConnectionOutput() PagerdutyConnectionOutput { + return i.ToPagerdutyConnectionOutputWithContext(context.Background()) +} + +func (i *PagerdutyConnection) ToPagerdutyConnectionOutputWithContext(ctx context.Context) PagerdutyConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PagerdutyConnectionOutput) +} + +// PagerdutyConnectionArrayInput is an input type that accepts PagerdutyConnectionArray and PagerdutyConnectionArrayOutput values. +// You can construct a concrete instance of `PagerdutyConnectionArrayInput` via: +// +// PagerdutyConnectionArray{ PagerdutyConnectionArgs{...} } +type PagerdutyConnectionArrayInput interface { + pulumi.Input + + ToPagerdutyConnectionArrayOutput() PagerdutyConnectionArrayOutput + ToPagerdutyConnectionArrayOutputWithContext(context.Context) PagerdutyConnectionArrayOutput +} + +type PagerdutyConnectionArray []PagerdutyConnectionInput + +func (PagerdutyConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*PagerdutyConnection)(nil)).Elem() +} + +func (i PagerdutyConnectionArray) ToPagerdutyConnectionArrayOutput() PagerdutyConnectionArrayOutput { + return i.ToPagerdutyConnectionArrayOutputWithContext(context.Background()) +} + +func (i PagerdutyConnectionArray) ToPagerdutyConnectionArrayOutputWithContext(ctx context.Context) PagerdutyConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PagerdutyConnectionArrayOutput) +} + +// PagerdutyConnectionMapInput is an input type that accepts PagerdutyConnectionMap and PagerdutyConnectionMapOutput values. +// You can construct a concrete instance of `PagerdutyConnectionMapInput` via: +// +// PagerdutyConnectionMap{ "key": PagerdutyConnectionArgs{...} } +type PagerdutyConnectionMapInput interface { + pulumi.Input + + ToPagerdutyConnectionMapOutput() PagerdutyConnectionMapOutput + ToPagerdutyConnectionMapOutputWithContext(context.Context) PagerdutyConnectionMapOutput +} + +type PagerdutyConnectionMap map[string]PagerdutyConnectionInput + +func (PagerdutyConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*PagerdutyConnection)(nil)).Elem() +} + +func (i PagerdutyConnectionMap) ToPagerdutyConnectionMapOutput() PagerdutyConnectionMapOutput { + return i.ToPagerdutyConnectionMapOutputWithContext(context.Background()) +} + +func (i PagerdutyConnectionMap) ToPagerdutyConnectionMapOutputWithContext(ctx context.Context) PagerdutyConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PagerdutyConnectionMapOutput) +} + +type PagerdutyConnectionOutput struct{ *pulumi.OutputState } + +func (PagerdutyConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PagerdutyConnection)(nil)).Elem() +} + +func (o PagerdutyConnectionOutput) ToPagerdutyConnectionOutput() PagerdutyConnectionOutput { + return o +} + +func (o PagerdutyConnectionOutput) ToPagerdutyConnectionOutputWithContext(ctx context.Context) PagerdutyConnectionOutput { + return o +} + +// The name of the PagerDuty connection +func (o PagerdutyConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PagerdutyConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Token for the PagerDuty API endpoint +func (o PagerdutyConnectionOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *PagerdutyConnection) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// URL of the PagerDuty API endpoint +func (o PagerdutyConnectionOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *PagerdutyConnection) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type PagerdutyConnectionArrayOutput struct{ *pulumi.OutputState } + +func (PagerdutyConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*PagerdutyConnection)(nil)).Elem() +} + +func (o PagerdutyConnectionArrayOutput) ToPagerdutyConnectionArrayOutput() PagerdutyConnectionArrayOutput { + return o +} + +func (o PagerdutyConnectionArrayOutput) ToPagerdutyConnectionArrayOutputWithContext(ctx context.Context) PagerdutyConnectionArrayOutput { + return o +} + +func (o PagerdutyConnectionArrayOutput) Index(i pulumi.IntInput) PagerdutyConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PagerdutyConnection { + return vs[0].([]*PagerdutyConnection)[vs[1].(int)] + }).(PagerdutyConnectionOutput) +} + +type PagerdutyConnectionMapOutput struct{ *pulumi.OutputState } + +func (PagerdutyConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*PagerdutyConnection)(nil)).Elem() +} + +func (o PagerdutyConnectionMapOutput) ToPagerdutyConnectionMapOutput() PagerdutyConnectionMapOutput { + return o +} + +func (o PagerdutyConnectionMapOutput) ToPagerdutyConnectionMapOutputWithContext(ctx context.Context) PagerdutyConnectionMapOutput { + return o +} + +func (o PagerdutyConnectionMapOutput) MapIndex(k pulumi.StringInput) PagerdutyConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PagerdutyConnection { + return vs[0].(map[string]*PagerdutyConnection)[vs[1].(string)] + }).(PagerdutyConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PagerdutyConnectionInput)(nil)).Elem(), &PagerdutyConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*PagerdutyConnectionArrayInput)(nil)).Elem(), PagerdutyConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PagerdutyConnectionMapInput)(nil)).Elem(), PagerdutyConnectionMap{}) + pulumi.RegisterOutputType(PagerdutyConnectionOutput{}) + pulumi.RegisterOutputType(PagerdutyConnectionArrayOutput{}) + pulumi.RegisterOutputType(PagerdutyConnectionMapOutput{}) +} diff --git a/sdk/go/dynatrace/problemFields.go b/sdk/go/dynatrace/problemFields.go new file mode 100644 index 00000000..21fe52a1 --- /dev/null +++ b/sdk/go/dynatrace/problemFields.go @@ -0,0 +1,254 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type ProblemFields struct { + pulumi.CustomResourceState + + // This setting is enabled (`true`) or disabled (`false`) + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // Field from the event that will be extracted. + EventField pulumi.StringOutput `pulumi:"eventField"` + // Field under which the extracted event data will be stored on the problem. + ProblemField pulumi.StringOutput `pulumi:"problemField"` +} + +// NewProblemFields registers a new resource with the given unique name, arguments, and options. +func NewProblemFields(ctx *pulumi.Context, + name string, args *ProblemFieldsArgs, opts ...pulumi.ResourceOption) (*ProblemFields, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Enabled == nil { + return nil, errors.New("invalid value for required argument 'Enabled'") + } + if args.EventField == nil { + return nil, errors.New("invalid value for required argument 'EventField'") + } + if args.ProblemField == nil { + return nil, errors.New("invalid value for required argument 'ProblemField'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProblemFields + err := ctx.RegisterResource("dynatrace:index/problemFields:ProblemFields", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProblemFields gets an existing ProblemFields 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 GetProblemFields(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProblemFieldsState, opts ...pulumi.ResourceOption) (*ProblemFields, error) { + var resource ProblemFields + err := ctx.ReadResource("dynatrace:index/problemFields:ProblemFields", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProblemFields resources. +type problemFieldsState struct { + // This setting is enabled (`true`) or disabled (`false`) + Enabled *bool `pulumi:"enabled"` + // Field from the event that will be extracted. + EventField *string `pulumi:"eventField"` + // Field under which the extracted event data will be stored on the problem. + ProblemField *string `pulumi:"problemField"` +} + +type ProblemFieldsState struct { + // This setting is enabled (`true`) or disabled (`false`) + Enabled pulumi.BoolPtrInput + // Field from the event that will be extracted. + EventField pulumi.StringPtrInput + // Field under which the extracted event data will be stored on the problem. + ProblemField pulumi.StringPtrInput +} + +func (ProblemFieldsState) ElementType() reflect.Type { + return reflect.TypeOf((*problemFieldsState)(nil)).Elem() +} + +type problemFieldsArgs struct { + // This setting is enabled (`true`) or disabled (`false`) + Enabled bool `pulumi:"enabled"` + // Field from the event that will be extracted. + EventField string `pulumi:"eventField"` + // Field under which the extracted event data will be stored on the problem. + ProblemField string `pulumi:"problemField"` +} + +// The set of arguments for constructing a ProblemFields resource. +type ProblemFieldsArgs struct { + // This setting is enabled (`true`) or disabled (`false`) + Enabled pulumi.BoolInput + // Field from the event that will be extracted. + EventField pulumi.StringInput + // Field under which the extracted event data will be stored on the problem. + ProblemField pulumi.StringInput +} + +func (ProblemFieldsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*problemFieldsArgs)(nil)).Elem() +} + +type ProblemFieldsInput interface { + pulumi.Input + + ToProblemFieldsOutput() ProblemFieldsOutput + ToProblemFieldsOutputWithContext(ctx context.Context) ProblemFieldsOutput +} + +func (*ProblemFields) ElementType() reflect.Type { + return reflect.TypeOf((**ProblemFields)(nil)).Elem() +} + +func (i *ProblemFields) ToProblemFieldsOutput() ProblemFieldsOutput { + return i.ToProblemFieldsOutputWithContext(context.Background()) +} + +func (i *ProblemFields) ToProblemFieldsOutputWithContext(ctx context.Context) ProblemFieldsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProblemFieldsOutput) +} + +// ProblemFieldsArrayInput is an input type that accepts ProblemFieldsArray and ProblemFieldsArrayOutput values. +// You can construct a concrete instance of `ProblemFieldsArrayInput` via: +// +// ProblemFieldsArray{ ProblemFieldsArgs{...} } +type ProblemFieldsArrayInput interface { + pulumi.Input + + ToProblemFieldsArrayOutput() ProblemFieldsArrayOutput + ToProblemFieldsArrayOutputWithContext(context.Context) ProblemFieldsArrayOutput +} + +type ProblemFieldsArray []ProblemFieldsInput + +func (ProblemFieldsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProblemFields)(nil)).Elem() +} + +func (i ProblemFieldsArray) ToProblemFieldsArrayOutput() ProblemFieldsArrayOutput { + return i.ToProblemFieldsArrayOutputWithContext(context.Background()) +} + +func (i ProblemFieldsArray) ToProblemFieldsArrayOutputWithContext(ctx context.Context) ProblemFieldsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProblemFieldsArrayOutput) +} + +// ProblemFieldsMapInput is an input type that accepts ProblemFieldsMap and ProblemFieldsMapOutput values. +// You can construct a concrete instance of `ProblemFieldsMapInput` via: +// +// ProblemFieldsMap{ "key": ProblemFieldsArgs{...} } +type ProblemFieldsMapInput interface { + pulumi.Input + + ToProblemFieldsMapOutput() ProblemFieldsMapOutput + ToProblemFieldsMapOutputWithContext(context.Context) ProblemFieldsMapOutput +} + +type ProblemFieldsMap map[string]ProblemFieldsInput + +func (ProblemFieldsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProblemFields)(nil)).Elem() +} + +func (i ProblemFieldsMap) ToProblemFieldsMapOutput() ProblemFieldsMapOutput { + return i.ToProblemFieldsMapOutputWithContext(context.Background()) +} + +func (i ProblemFieldsMap) ToProblemFieldsMapOutputWithContext(ctx context.Context) ProblemFieldsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProblemFieldsMapOutput) +} + +type ProblemFieldsOutput struct{ *pulumi.OutputState } + +func (ProblemFieldsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProblemFields)(nil)).Elem() +} + +func (o ProblemFieldsOutput) ToProblemFieldsOutput() ProblemFieldsOutput { + return o +} + +func (o ProblemFieldsOutput) ToProblemFieldsOutputWithContext(ctx context.Context) ProblemFieldsOutput { + return o +} + +// This setting is enabled (`true`) or disabled (`false`) +func (o ProblemFieldsOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ProblemFields) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// Field from the event that will be extracted. +func (o ProblemFieldsOutput) EventField() pulumi.StringOutput { + return o.ApplyT(func(v *ProblemFields) pulumi.StringOutput { return v.EventField }).(pulumi.StringOutput) +} + +// Field under which the extracted event data will be stored on the problem. +func (o ProblemFieldsOutput) ProblemField() pulumi.StringOutput { + return o.ApplyT(func(v *ProblemFields) pulumi.StringOutput { return v.ProblemField }).(pulumi.StringOutput) +} + +type ProblemFieldsArrayOutput struct{ *pulumi.OutputState } + +func (ProblemFieldsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProblemFields)(nil)).Elem() +} + +func (o ProblemFieldsArrayOutput) ToProblemFieldsArrayOutput() ProblemFieldsArrayOutput { + return o +} + +func (o ProblemFieldsArrayOutput) ToProblemFieldsArrayOutputWithContext(ctx context.Context) ProblemFieldsArrayOutput { + return o +} + +func (o ProblemFieldsArrayOutput) Index(i pulumi.IntInput) ProblemFieldsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProblemFields { + return vs[0].([]*ProblemFields)[vs[1].(int)] + }).(ProblemFieldsOutput) +} + +type ProblemFieldsMapOutput struct{ *pulumi.OutputState } + +func (ProblemFieldsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProblemFields)(nil)).Elem() +} + +func (o ProblemFieldsMapOutput) ToProblemFieldsMapOutput() ProblemFieldsMapOutput { + return o +} + +func (o ProblemFieldsMapOutput) ToProblemFieldsMapOutputWithContext(ctx context.Context) ProblemFieldsMapOutput { + return o +} + +func (o ProblemFieldsMapOutput) MapIndex(k pulumi.StringInput) ProblemFieldsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProblemFields { + return vs[0].(map[string]*ProblemFields)[vs[1].(string)] + }).(ProblemFieldsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProblemFieldsInput)(nil)).Elem(), &ProblemFields{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProblemFieldsArrayInput)(nil)).Elem(), ProblemFieldsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProblemFieldsMapInput)(nil)).Elem(), ProblemFieldsMap{}) + pulumi.RegisterOutputType(ProblemFieldsOutput{}) + pulumi.RegisterOutputType(ProblemFieldsArrayOutput{}) + pulumi.RegisterOutputType(ProblemFieldsMapOutput{}) +} diff --git a/sdk/go/dynatrace/processGroupDetectionFlags.go b/sdk/go/dynatrace/processGroupDetectionFlags.go index 8dbf4071..8c3af597 100644 --- a/sdk/go/dynatrace/processGroupDetectionFlags.go +++ b/sdk/go/dynatrace/processGroupDetectionFlags.go @@ -37,6 +37,8 @@ type ProcessGroupDetectionFlags struct { IgnoreUniqueIdentifiers pulumi.BoolOutput `pulumi:"ignoreUniqueIdentifiers"` // The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. Scope pulumi.StringPtrOutput `pulumi:"scope"` + // This flag enables the detection of security software such as anti-malware protection. + SecuritySoftwareDetectionEnabled pulumi.BoolPtrOutput `pulumi:"securitySoftwareDetectionEnabled"` // Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. ShortLivedProcessesMonitoring pulumi.BoolOutput `pulumi:"shortLivedProcessesMonitoring"` // Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. @@ -146,6 +148,8 @@ type processGroupDetectionFlagsState struct { IgnoreUniqueIdentifiers *bool `pulumi:"ignoreUniqueIdentifiers"` // The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. Scope *string `pulumi:"scope"` + // This flag enables the detection of security software such as anti-malware protection. + SecuritySoftwareDetectionEnabled *bool `pulumi:"securitySoftwareDetectionEnabled"` // Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. ShortLivedProcessesMonitoring *bool `pulumi:"shortLivedProcessesMonitoring"` // Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. @@ -181,6 +185,8 @@ type ProcessGroupDetectionFlagsState struct { IgnoreUniqueIdentifiers pulumi.BoolPtrInput // The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. Scope pulumi.StringPtrInput + // This flag enables the detection of security software such as anti-malware protection. + SecuritySoftwareDetectionEnabled pulumi.BoolPtrInput // Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. ShortLivedProcessesMonitoring pulumi.BoolPtrInput // Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. @@ -220,6 +226,8 @@ type processGroupDetectionFlagsArgs struct { IgnoreUniqueIdentifiers bool `pulumi:"ignoreUniqueIdentifiers"` // The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. Scope *string `pulumi:"scope"` + // This flag enables the detection of security software such as anti-malware protection. + SecuritySoftwareDetectionEnabled *bool `pulumi:"securitySoftwareDetectionEnabled"` // Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. ShortLivedProcessesMonitoring bool `pulumi:"shortLivedProcessesMonitoring"` // Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. @@ -256,6 +264,8 @@ type ProcessGroupDetectionFlagsArgs struct { IgnoreUniqueIdentifiers pulumi.BoolInput // The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. Scope pulumi.StringPtrInput + // This flag enables the detection of security software such as anti-malware protection. + SecuritySoftwareDetectionEnabled pulumi.BoolPtrInput // Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. ShortLivedProcessesMonitoring pulumi.BoolInput // Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. @@ -410,6 +420,11 @@ func (o ProcessGroupDetectionFlagsOutput) Scope() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProcessGroupDetectionFlags) pulumi.StringPtrOutput { return v.Scope }).(pulumi.StringPtrOutput) } +// This flag enables the detection of security software such as anti-malware protection. +func (o ProcessGroupDetectionFlagsOutput) SecuritySoftwareDetectionEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProcessGroupDetectionFlags) pulumi.BoolPtrOutput { return v.SecuritySoftwareDetectionEnabled }).(pulumi.BoolPtrOutput) +} + // Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. func (o ProcessGroupDetectionFlagsOutput) ShortLivedProcessesMonitoring() pulumi.BoolOutput { return o.ApplyT(func(v *ProcessGroupDetectionFlags) pulumi.BoolOutput { return v.ShortLivedProcessesMonitoring }).(pulumi.BoolOutput) diff --git a/sdk/go/dynatrace/pulumiTypes.go b/sdk/go/dynatrace/pulumiTypes.go index daa7fe0c..cdb48b91 100644 --- a/sdk/go/dynatrace/pulumiTypes.go +++ b/sdk/go/dynatrace/pulumiTypes.go @@ -57938,6 +57938,8 @@ type CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder struct { Name string `pulumi:"name"` // The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` Normalization *string `pulumi:"normalization"` + // The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + OneagentAttributeKey *string `pulumi:"oneagentAttributeKey"` // The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise RequestAttribute *string `pulumi:"requestAttribute"` // Defines valid sources of request attributes for conditions or placeholders @@ -57980,6 +57982,8 @@ type CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderArgs struc Name pulumi.StringInput `pulumi:"name"` // The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` Normalization pulumi.StringPtrInput `pulumi:"normalization"` + // The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + OneagentAttributeKey pulumi.StringPtrInput `pulumi:"oneagentAttributeKey"` // The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise RequestAttribute pulumi.StringPtrInput `pulumi:"requestAttribute"` // Defines valid sources of request attributes for conditions or placeholders @@ -58090,6 +58094,13 @@ func (o CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderOutput) }).(pulumi.StringPtrOutput) } +// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. +func (o CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderOutput) OneagentAttributeKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder) *string { + return v.OneagentAttributeKey + }).(pulumi.StringPtrOutput) +} + // The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise func (o CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderOutput) RequestAttribute() pulumi.StringPtrOutput { return o.ApplyT(func(v CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholder) *string { diff --git a/sdk/go/dynatrace/pulumiTypes1.go b/sdk/go/dynatrace/pulumiTypes1.go index b10a2677..75881fe5 100644 --- a/sdk/go/dynatrace/pulumiTypes1.go +++ b/sdk/go/dynatrace/pulumiTypes1.go @@ -4489,6 +4489,256 @@ func (o DeclarativeGroupingDetectionProcessDefinitionRulesRuleArrayOutput) Index }).(DeclarativeGroupingDetectionProcessDefinitionRulesRuleOutput) } +type DefaultLaunchpadGroupLaunchpads struct { + GroupLaunchpads []DefaultLaunchpadGroupLaunchpadsGroupLaunchpad `pulumi:"groupLaunchpads"` +} + +// DefaultLaunchpadGroupLaunchpadsInput is an input type that accepts DefaultLaunchpadGroupLaunchpadsArgs and DefaultLaunchpadGroupLaunchpadsOutput values. +// You can construct a concrete instance of `DefaultLaunchpadGroupLaunchpadsInput` via: +// +// DefaultLaunchpadGroupLaunchpadsArgs{...} +type DefaultLaunchpadGroupLaunchpadsInput interface { + pulumi.Input + + ToDefaultLaunchpadGroupLaunchpadsOutput() DefaultLaunchpadGroupLaunchpadsOutput + ToDefaultLaunchpadGroupLaunchpadsOutputWithContext(context.Context) DefaultLaunchpadGroupLaunchpadsOutput +} + +type DefaultLaunchpadGroupLaunchpadsArgs struct { + GroupLaunchpads DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayInput `pulumi:"groupLaunchpads"` +} + +func (DefaultLaunchpadGroupLaunchpadsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DefaultLaunchpadGroupLaunchpads)(nil)).Elem() +} + +func (i DefaultLaunchpadGroupLaunchpadsArgs) ToDefaultLaunchpadGroupLaunchpadsOutput() DefaultLaunchpadGroupLaunchpadsOutput { + return i.ToDefaultLaunchpadGroupLaunchpadsOutputWithContext(context.Background()) +} + +func (i DefaultLaunchpadGroupLaunchpadsArgs) ToDefaultLaunchpadGroupLaunchpadsOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadGroupLaunchpadsOutput) +} + +func (i DefaultLaunchpadGroupLaunchpadsArgs) ToDefaultLaunchpadGroupLaunchpadsPtrOutput() DefaultLaunchpadGroupLaunchpadsPtrOutput { + return i.ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(context.Background()) +} + +func (i DefaultLaunchpadGroupLaunchpadsArgs) ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadGroupLaunchpadsOutput).ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(ctx) +} + +// DefaultLaunchpadGroupLaunchpadsPtrInput is an input type that accepts DefaultLaunchpadGroupLaunchpadsArgs, DefaultLaunchpadGroupLaunchpadsPtr and DefaultLaunchpadGroupLaunchpadsPtrOutput values. +// You can construct a concrete instance of `DefaultLaunchpadGroupLaunchpadsPtrInput` via: +// +// DefaultLaunchpadGroupLaunchpadsArgs{...} +// +// or: +// +// nil +type DefaultLaunchpadGroupLaunchpadsPtrInput interface { + pulumi.Input + + ToDefaultLaunchpadGroupLaunchpadsPtrOutput() DefaultLaunchpadGroupLaunchpadsPtrOutput + ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(context.Context) DefaultLaunchpadGroupLaunchpadsPtrOutput +} + +type defaultLaunchpadGroupLaunchpadsPtrType DefaultLaunchpadGroupLaunchpadsArgs + +func DefaultLaunchpadGroupLaunchpadsPtr(v *DefaultLaunchpadGroupLaunchpadsArgs) DefaultLaunchpadGroupLaunchpadsPtrInput { + return (*defaultLaunchpadGroupLaunchpadsPtrType)(v) +} + +func (*defaultLaunchpadGroupLaunchpadsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DefaultLaunchpadGroupLaunchpads)(nil)).Elem() +} + +func (i *defaultLaunchpadGroupLaunchpadsPtrType) ToDefaultLaunchpadGroupLaunchpadsPtrOutput() DefaultLaunchpadGroupLaunchpadsPtrOutput { + return i.ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(context.Background()) +} + +func (i *defaultLaunchpadGroupLaunchpadsPtrType) ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadGroupLaunchpadsPtrOutput) +} + +type DefaultLaunchpadGroupLaunchpadsOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadGroupLaunchpadsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DefaultLaunchpadGroupLaunchpads)(nil)).Elem() +} + +func (o DefaultLaunchpadGroupLaunchpadsOutput) ToDefaultLaunchpadGroupLaunchpadsOutput() DefaultLaunchpadGroupLaunchpadsOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsOutput) ToDefaultLaunchpadGroupLaunchpadsOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsOutput) ToDefaultLaunchpadGroupLaunchpadsPtrOutput() DefaultLaunchpadGroupLaunchpadsPtrOutput { + return o.ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(context.Background()) +} + +func (o DefaultLaunchpadGroupLaunchpadsOutput) ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DefaultLaunchpadGroupLaunchpads) *DefaultLaunchpadGroupLaunchpads { + return &v + }).(DefaultLaunchpadGroupLaunchpadsPtrOutput) +} + +func (o DefaultLaunchpadGroupLaunchpadsOutput) GroupLaunchpads() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput { + return o.ApplyT(func(v DefaultLaunchpadGroupLaunchpads) []DefaultLaunchpadGroupLaunchpadsGroupLaunchpad { + return v.GroupLaunchpads + }).(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) +} + +type DefaultLaunchpadGroupLaunchpadsPtrOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadGroupLaunchpadsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DefaultLaunchpadGroupLaunchpads)(nil)).Elem() +} + +func (o DefaultLaunchpadGroupLaunchpadsPtrOutput) ToDefaultLaunchpadGroupLaunchpadsPtrOutput() DefaultLaunchpadGroupLaunchpadsPtrOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsPtrOutput) ToDefaultLaunchpadGroupLaunchpadsPtrOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsPtrOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsPtrOutput) Elem() DefaultLaunchpadGroupLaunchpadsOutput { + return o.ApplyT(func(v *DefaultLaunchpadGroupLaunchpads) DefaultLaunchpadGroupLaunchpads { + if v != nil { + return *v + } + var ret DefaultLaunchpadGroupLaunchpads + return ret + }).(DefaultLaunchpadGroupLaunchpadsOutput) +} + +func (o DefaultLaunchpadGroupLaunchpadsPtrOutput) GroupLaunchpads() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput { + return o.ApplyT(func(v *DefaultLaunchpadGroupLaunchpads) []DefaultLaunchpadGroupLaunchpadsGroupLaunchpad { + if v == nil { + return nil + } + return v.GroupLaunchpads + }).(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) +} + +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpad struct { + // State + IsEnabled bool `pulumi:"isEnabled"` + // Launchpad + LaunchpadId string `pulumi:"launchpadId"` + // User Group + UserGroupId string `pulumi:"userGroupId"` +} + +// DefaultLaunchpadGroupLaunchpadsGroupLaunchpadInput is an input type that accepts DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs and DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput values. +// You can construct a concrete instance of `DefaultLaunchpadGroupLaunchpadsGroupLaunchpadInput` via: +// +// DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs{...} +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpadInput interface { + pulumi.Input + + ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput + ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutputWithContext(context.Context) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput +} + +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs struct { + // State + IsEnabled pulumi.BoolInput `pulumi:"isEnabled"` + // Launchpad + LaunchpadId pulumi.StringInput `pulumi:"launchpadId"` + // User Group + UserGroupId pulumi.StringInput `pulumi:"userGroupId"` +} + +func (DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DefaultLaunchpadGroupLaunchpadsGroupLaunchpad)(nil)).Elem() +} + +func (i DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput { + return i.ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutputWithContext(context.Background()) +} + +func (i DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) +} + +// DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayInput is an input type that accepts DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray and DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput values. +// You can construct a concrete instance of `DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayInput` via: +// +// DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray{ DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs{...} } +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayInput interface { + pulumi.Input + + ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput + ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutputWithContext(context.Context) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput +} + +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray []DefaultLaunchpadGroupLaunchpadsGroupLaunchpadInput + +func (DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DefaultLaunchpadGroupLaunchpadsGroupLaunchpad)(nil)).Elem() +} + +func (i DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput { + return i.ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutputWithContext(context.Background()) +} + +func (i DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) +} + +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DefaultLaunchpadGroupLaunchpadsGroupLaunchpad)(nil)).Elem() +} + +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput { + return o +} + +// State +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) IsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v DefaultLaunchpadGroupLaunchpadsGroupLaunchpad) bool { return v.IsEnabled }).(pulumi.BoolOutput) +} + +// Launchpad +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) LaunchpadId() pulumi.StringOutput { + return o.ApplyT(func(v DefaultLaunchpadGroupLaunchpadsGroupLaunchpad) string { return v.LaunchpadId }).(pulumi.StringOutput) +} + +// User Group +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) UserGroupId() pulumi.StringOutput { + return o.ApplyT(func(v DefaultLaunchpadGroupLaunchpadsGroupLaunchpad) string { return v.UserGroupId }).(pulumi.StringOutput) +} + +type DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput struct{ *pulumi.OutputState } + +func (DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DefaultLaunchpadGroupLaunchpadsGroupLaunchpad)(nil)).Elem() +} + +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput() DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) ToDefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutputWithContext(ctx context.Context) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput { + return o +} + +func (o DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput) Index(i pulumi.IntInput) DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DefaultLaunchpadGroupLaunchpadsGroupLaunchpad { + return vs[0].([]DefaultLaunchpadGroupLaunchpadsGroupLaunchpad)[vs[1].(int)] + }).(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput) +} + type DirectSharesRecipients struct { // Recipient of the direct share Recipients []DirectSharesRecipientsRecipient `pulumi:"recipients"` @@ -53370,7 +53620,9 @@ func (o KubernetesEnrichmentRulesPtrOutput) Rules() KubernetesEnrichmentRulesRul type KubernetesEnrichmentRulesRule struct { // This setting is enabled (`true`) or disabled (`false`) - Enabled bool `pulumi:"enabled"` + // + // Deprecated: Attribute no longer exists in the schema. + Enabled *bool `pulumi:"enabled"` // The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). Source string `pulumi:"source"` // Possible Values: `Dt_cost_costcenter`, `Dt_cost_product`, `Dt_security_context` @@ -53392,7 +53644,9 @@ type KubernetesEnrichmentRulesRuleInput interface { type KubernetesEnrichmentRulesRuleArgs struct { // This setting is enabled (`true`) or disabled (`false`) - Enabled pulumi.BoolInput `pulumi:"enabled"` + // + // Deprecated: Attribute no longer exists in the schema. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` // The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). Source pulumi.StringInput `pulumi:"source"` // Possible Values: `Dt_cost_costcenter`, `Dt_cost_product`, `Dt_security_context` @@ -53453,8 +53707,10 @@ func (o KubernetesEnrichmentRulesRuleOutput) ToKubernetesEnrichmentRulesRuleOutp } // This setting is enabled (`true`) or disabled (`false`) -func (o KubernetesEnrichmentRulesRuleOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v KubernetesEnrichmentRulesRule) bool { return v.Enabled }).(pulumi.BoolOutput) +// +// Deprecated: Attribute no longer exists in the schema. +func (o KubernetesEnrichmentRulesRuleOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v KubernetesEnrichmentRulesRule) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } // The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). @@ -76283,326 +76539,6 @@ func (o MobileAppAnomaliesSlowUserActionsPtrOutput) SlowUserActionsFixed() Mobil }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsFixedPtrOutput) } -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto struct { - // To avoid over-alerting do not alert for low traffic applications with less than - DurationAvoidOveralerting MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting `pulumi:"durationAvoidOveralerting"` - // Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: - DurationThresholdAll MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll `pulumi:"durationThresholdAll"` - // Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: - DurationThresholdSlowest MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowest `pulumi:"durationThresholdSlowest"` -} - -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput values. -// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput` via: -// -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{...} -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput interface { - pulumi.Input - - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs struct { - // To avoid over-alerting do not alert for low traffic applications with less than - DurationAvoidOveralerting MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput `pulumi:"durationAvoidOveralerting"` - // Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: - DurationThresholdAll MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllInput `pulumi:"durationThresholdAll"` - // Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: - DurationThresholdSlowest MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestInput `pulumi:"durationThresholdSlowest"` -} - -func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { - return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(context.Background()) -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { - return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Background()) -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput).ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx) -} - -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs, MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtr and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput values. -// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput` via: -// -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{...} -// -// or: -// -// nil -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput interface { - pulumi.Input - - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput -} - -type mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs - -func MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtr(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput { - return (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType)(v) -} - -func (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() -} - -func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Background()) -} - -func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput struct{ *pulumi.OutputState } - -func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return o.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Background()) -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto { - return &v - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) -} - -// To avoid over-alerting do not alert for low traffic applications with less than -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) DurationAvoidOveralerting() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { - return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { - return v.DurationAvoidOveralerting - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) -} - -// Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) DurationThresholdAll() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllOutput { - return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll { - return v.DurationThresholdAll - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllOutput) -} - -// Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) DurationThresholdSlowest() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestOutput { - return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowest { - return v.DurationThresholdSlowest - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestOutput) -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput struct{ *pulumi.OutputState } - -func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) Elem() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { - return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto { - if v != nil { - return *v - } - var ret MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto - return ret - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) -} - -// To avoid over-alerting do not alert for low traffic applications with less than -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) DurationAvoidOveralerting() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { - if v == nil { - return nil - } - return &v.DurationAvoidOveralerting - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) -} - -// Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) DurationThresholdAll() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllPtrOutput { - return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll { - if v == nil { - return nil - } - return &v.DurationThresholdAll - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllPtrOutput) -} - -// Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) DurationThresholdSlowest() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestPtrOutput { - return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowest { - if v == nil { - return nil - } - return &v.DurationThresholdSlowest - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestPtrOutput) -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting struct { - // no documentation available - MinActionRate int `pulumi:"minActionRate"` -} - -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput values. -// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput` via: -// -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{...} -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput interface { - pulumi.Input - - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs struct { - // no documentation available - MinActionRate pulumi.IntInput `pulumi:"minActionRate"` -} - -func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { - return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(context.Background()) -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { - return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Background()) -} - -func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput).ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx) -} - -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs, MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtr and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput values. -// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput` via: -// -// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{...} -// -// or: -// -// nil -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput interface { - pulumi.Input - - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput - ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput -} - -type mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs - -func MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtr(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput { - return (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType)(v) -} - -func (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() -} - -func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Background()) -} - -func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput struct{ *pulumi.OutputState } - -func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return o.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Background()) -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { - return &v - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) -} - -// no documentation available -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) MinActionRate() pulumi.IntOutput { - return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) int { - return v.MinActionRate - }).(pulumi.IntOutput) -} - -type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput struct{ *pulumi.OutputState } - -func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { - return o -} - -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) Elem() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { - return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { - if v != nil { - return *v - } - var ret MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting - return ret - }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) -} - -// no documentation available -func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) MinActionRate() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) *int { - if v == nil { - return nil - } - return &v.MinActionRate - }).(pulumi.IntPtrOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*DatabaseAnomaliesV2FailureRateFixedDetectionOverAlertingProtectionInput)(nil)).Elem(), DatabaseAnomaliesV2FailureRateFixedDetectionOverAlertingProtectionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseAnomaliesV2FailureRateFixedDetectionOverAlertingProtectionPtrInput)(nil)).Elem(), DatabaseAnomaliesV2FailureRateFixedDetectionOverAlertingProtectionArgs{}) @@ -76663,6 +76599,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DeclarativeGroupingDetectionProcessDefinitionRulesInput)(nil)).Elem(), DeclarativeGroupingDetectionProcessDefinitionRulesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeclarativeGroupingDetectionProcessDefinitionRulesRuleInput)(nil)).Elem(), DeclarativeGroupingDetectionProcessDefinitionRulesRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeclarativeGroupingDetectionProcessDefinitionRulesRuleArrayInput)(nil)).Elem(), DeclarativeGroupingDetectionProcessDefinitionRulesRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadGroupLaunchpadsInput)(nil)).Elem(), DefaultLaunchpadGroupLaunchpadsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadGroupLaunchpadsPtrInput)(nil)).Elem(), DefaultLaunchpadGroupLaunchpadsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadGroupLaunchpadsGroupLaunchpadInput)(nil)).Elem(), DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayInput)(nil)).Elem(), DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectSharesRecipientsInput)(nil)).Elem(), DirectSharesRecipientsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectSharesRecipientsPtrInput)(nil)).Elem(), DirectSharesRecipientsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectSharesRecipientsRecipientInput)(nil)).Elem(), DirectSharesRecipientsRecipientArgs{}) @@ -77587,10 +77527,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesErrorRateIncreaseErrorRateIncreaseFixedPtrInput)(nil)).Elem(), MobileAppAnomaliesErrorRateIncreaseErrorRateIncreaseFixedArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsPtrInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{}) pulumi.RegisterOutputType(DatabaseAnomaliesV2FailureRateFixedDetectionOverAlertingProtectionOutput{}) pulumi.RegisterOutputType(DatabaseAnomaliesV2FailureRateFixedDetectionOverAlertingProtectionPtrOutput{}) pulumi.RegisterOutputType(DatabaseAnomaliesV2LoadDropsOutput{}) @@ -77650,6 +77586,10 @@ func init() { pulumi.RegisterOutputType(DeclarativeGroupingDetectionProcessDefinitionRulesOutput{}) pulumi.RegisterOutputType(DeclarativeGroupingDetectionProcessDefinitionRulesRuleOutput{}) pulumi.RegisterOutputType(DeclarativeGroupingDetectionProcessDefinitionRulesRuleArrayOutput{}) + pulumi.RegisterOutputType(DefaultLaunchpadGroupLaunchpadsOutput{}) + pulumi.RegisterOutputType(DefaultLaunchpadGroupLaunchpadsPtrOutput{}) + pulumi.RegisterOutputType(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadOutput{}) + pulumi.RegisterOutputType(DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArrayOutput{}) pulumi.RegisterOutputType(DirectSharesRecipientsOutput{}) pulumi.RegisterOutputType(DirectSharesRecipientsPtrOutput{}) pulumi.RegisterOutputType(DirectSharesRecipientsRecipientOutput{}) @@ -78574,8 +78514,4 @@ func init() { pulumi.RegisterOutputType(MobileAppAnomaliesErrorRateIncreaseErrorRateIncreaseFixedPtrOutput{}) pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsOutput{}) pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsPtrOutput{}) - pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput{}) - pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput{}) - pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput{}) - pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput{}) } diff --git a/sdk/go/dynatrace/pulumiTypes2.go b/sdk/go/dynatrace/pulumiTypes2.go index 4f3bdaa4..79b4495f 100644 --- a/sdk/go/dynatrace/pulumiTypes2.go +++ b/sdk/go/dynatrace/pulumiTypes2.go @@ -13,6 +13,326 @@ import ( var _ = internal.GetEnvOrDefault +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto struct { + // To avoid over-alerting do not alert for low traffic applications with less than + DurationAvoidOveralerting MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting `pulumi:"durationAvoidOveralerting"` + // Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: + DurationThresholdAll MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll `pulumi:"durationThresholdAll"` + // Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: + DurationThresholdSlowest MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowest `pulumi:"durationThresholdSlowest"` +} + +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput values. +// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput` via: +// +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{...} +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput interface { + pulumi.Input + + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs struct { + // To avoid over-alerting do not alert for low traffic applications with less than + DurationAvoidOveralerting MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput `pulumi:"durationAvoidOveralerting"` + // Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: + DurationThresholdAll MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllInput `pulumi:"durationThresholdAll"` + // Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: + DurationThresholdSlowest MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestInput `pulumi:"durationThresholdSlowest"` +} + +func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { + return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(context.Background()) +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { + return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Background()) +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput).ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx) +} + +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs, MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtr and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput values. +// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput` via: +// +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{...} +// +// or: +// +// nil +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput interface { + pulumi.Input + + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput +} + +type mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs + +func MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtr(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput { + return (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType)(v) +} + +func (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() +} + +func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Background()) +} + +func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput struct{ *pulumi.OutputState } + +func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return o.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(context.Background()) +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto { + return &v + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) +} + +// To avoid over-alerting do not alert for low traffic applications with less than +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) DurationAvoidOveralerting() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { + return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { + return v.DurationAvoidOveralerting + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) +} + +// Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) DurationThresholdAll() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllOutput { + return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll { + return v.DurationThresholdAll + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllOutput) +} + +// Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) DurationThresholdSlowest() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestOutput { + return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowest { + return v.DurationThresholdSlowest + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestOutput) +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput struct{ *pulumi.OutputState } + +func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto)(nil)).Elem() +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) Elem() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput { + return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto { + if v != nil { + return *v + } + var ret MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto + return ret + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput) +} + +// To avoid over-alerting do not alert for low traffic applications with less than +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) DurationAvoidOveralerting() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { + if v == nil { + return nil + } + return &v.DurationAvoidOveralerting + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) +} + +// Alert if the action duration of all user actions degrades beyond **both** the absolute and relative threshold: +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) DurationThresholdAll() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllPtrOutput { + return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll { + if v == nil { + return nil + } + return &v.DurationThresholdAll + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllPtrOutput) +} + +// Alert if the action duration of the slowest 10% of user actions degrades beyond **both** the absolute and relative threshold: +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput) DurationThresholdSlowest() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestPtrOutput { + return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAuto) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowest { + if v == nil { + return nil + } + return &v.DurationThresholdSlowest + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestPtrOutput) +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting struct { + // no documentation available + MinActionRate int `pulumi:"minActionRate"` +} + +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput values. +// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput` via: +// +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{...} +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput interface { + pulumi.Input + + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs struct { + // no documentation available + MinActionRate pulumi.IntInput `pulumi:"minActionRate"` +} + +func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { + return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(context.Background()) +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Background()) +} + +func (i MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput).ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx) +} + +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput is an input type that accepts MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs, MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtr and MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput values. +// You can construct a concrete instance of `MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput` via: +// +// MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{...} +// +// or: +// +// nil +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput interface { + pulumi.Input + + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput + ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput +} + +type mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs + +func MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtr(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput { + return (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType)(v) +} + +func (*mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() +} + +func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return i.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Background()) +} + +func (i *mobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrType) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput struct{ *pulumi.OutputState } + +func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return o.ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(context.Background()) +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { + return &v + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) +} + +// no documentation available +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) MinActionRate() pulumi.IntOutput { + return o.ApplyT(func(v MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) int { + return v.MinActionRate + }).(pulumi.IntOutput) +} + +type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput struct{ *pulumi.OutputState } + +func (MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting)(nil)).Elem() +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) ToMobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutputWithContext(ctx context.Context) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput { + return o +} + +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) Elem() MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput { + return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting { + if v != nil { + return *v + } + var ret MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting + return ret + }).(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput) +} + +// no documentation available +func (o MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput) MinActionRate() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralerting) *int { + if v == nil { + return nil + } + return &v.MinActionRate + }).(pulumi.IntPtrOutput) +} + type MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAll struct { // Absolute threshold DurationThreshold float64 `pulumi:"durationThreshold"` @@ -73176,6 +73496,8 @@ type RequestNamingPlaceholdersPlaceholder struct { Name string `pulumi:"name"` // The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` Normalization *string `pulumi:"normalization"` + // The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + OneagentAttributeKey *string `pulumi:"oneagentAttributeKey"` // The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise RequestAttribute *string `pulumi:"requestAttribute"` // Defines valid sources of request attributes for conditions or placeholders @@ -73218,6 +73540,8 @@ type RequestNamingPlaceholdersPlaceholderArgs struct { Name pulumi.StringInput `pulumi:"name"` // The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` Normalization pulumi.StringPtrInput `pulumi:"normalization"` + // The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + OneagentAttributeKey pulumi.StringPtrInput `pulumi:"oneagentAttributeKey"` // The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise RequestAttribute pulumi.StringPtrInput `pulumi:"requestAttribute"` // Defines valid sources of request attributes for conditions or placeholders @@ -73320,6 +73644,11 @@ func (o RequestNamingPlaceholdersPlaceholderOutput) Normalization() pulumi.Strin return o.ApplyT(func(v RequestNamingPlaceholdersPlaceholder) *string { return v.Normalization }).(pulumi.StringPtrOutput) } +// The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. +func (o RequestNamingPlaceholdersPlaceholderOutput) OneagentAttributeKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v RequestNamingPlaceholdersPlaceholder) *string { return v.OneagentAttributeKey }).(pulumi.StringPtrOutput) +} + // The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise func (o RequestNamingPlaceholdersPlaceholderOutput) RequestAttribute() pulumi.StringPtrOutput { return o.ApplyT(func(v RequestNamingPlaceholdersPlaceholder) *string { return v.RequestAttribute }).(pulumi.StringPtrOutput) @@ -83508,252 +83837,11 @@ func (o ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleConditionOutp }).(pulumi.StringPtrOutput) } -type ServiceFailureExceptionRulesCustomHandledExceptions struct { - CustomHandledExceptions []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException `pulumi:"customHandledExceptions"` -} - -// ServiceFailureExceptionRulesCustomHandledExceptionsInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsArgs and ServiceFailureExceptionRulesCustomHandledExceptionsOutput values. -// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsInput` via: -// -// ServiceFailureExceptionRulesCustomHandledExceptionsArgs{...} -type ServiceFailureExceptionRulesCustomHandledExceptionsInput interface { - pulumi.Input - - ToServiceFailureExceptionRulesCustomHandledExceptionsOutput() ServiceFailureExceptionRulesCustomHandledExceptionsOutput - ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsOutput -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsArgs struct { - CustomHandledExceptions ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput `pulumi:"customHandledExceptions"` -} - -func (ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsOutput() ServiceFailureExceptionRulesCustomHandledExceptionsOutput { - return i.ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(context.Background()) -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsOutput) -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return i.ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Background()) -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsOutput).ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx) -} - -// ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsArgs, ServiceFailureExceptionRulesCustomHandledExceptionsPtr and ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput values. -// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput` via: -// -// ServiceFailureExceptionRulesCustomHandledExceptionsArgs{...} -// -// or: -// -// nil -type ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput interface { - pulumi.Input - - ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput - ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput -} - -type serviceFailureExceptionRulesCustomHandledExceptionsPtrType ServiceFailureExceptionRulesCustomHandledExceptionsArgs - -func ServiceFailureExceptionRulesCustomHandledExceptionsPtr(v *ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput { - return (*serviceFailureExceptionRulesCustomHandledExceptionsPtrType)(v) -} - -func (*serviceFailureExceptionRulesCustomHandledExceptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() -} - -func (i *serviceFailureExceptionRulesCustomHandledExceptionsPtrType) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return i.ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Background()) -} - -func (i *serviceFailureExceptionRulesCustomHandledExceptionsPtrType) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsOutput struct{ *pulumi.OutputState } - -func (ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsOutput() ServiceFailureExceptionRulesCustomHandledExceptionsOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return o.ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Background()) -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceFailureExceptionRulesCustomHandledExceptions) *ServiceFailureExceptionRulesCustomHandledExceptions { - return &v - }).(ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) CustomHandledExceptions() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { - return o.ApplyT(func(v ServiceFailureExceptionRulesCustomHandledExceptions) []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException { - return v.CustomHandledExceptions - }).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput struct{ *pulumi.OutputState } - -func (ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) Elem() ServiceFailureExceptionRulesCustomHandledExceptionsOutput { - return o.ApplyT(func(v *ServiceFailureExceptionRulesCustomHandledExceptions) ServiceFailureExceptionRulesCustomHandledExceptions { - if v != nil { - return *v - } - var ret ServiceFailureExceptionRulesCustomHandledExceptions - return ret - }).(ServiceFailureExceptionRulesCustomHandledExceptionsOutput) -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) CustomHandledExceptions() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { - return o.ApplyT(func(v *ServiceFailureExceptionRulesCustomHandledExceptions) []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException { - if v == nil { - return nil - } - return v.CustomHandledExceptions - }).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException struct { - // The pattern will match if it is contained within the actual class name. - ClassPattern *string `pulumi:"classPattern"` - // Optionally, define an exception message pattern. The pattern will match if the actual exception message contains the pattern. - MessagePattern *string `pulumi:"messagePattern"` -} - -// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs and ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput values. -// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput` via: -// -// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs{...} -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput interface { - pulumi.Input - - ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput - ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs struct { - // The pattern will match if it is contained within the actual class name. - ClassPattern pulumi.StringPtrInput `pulumi:"classPattern"` - // Optionally, define an exception message pattern. The pattern will match if the actual exception message contains the pattern. - MessagePattern pulumi.StringPtrInput `pulumi:"messagePattern"` -} - -func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { - return i.ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(context.Background()) -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) -} - -// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray and ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput values. -// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput` via: -// -// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray{ ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs{...} } -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput interface { - pulumi.Input - - ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput - ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput - -func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { - return i.ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(context.Background()) -} - -func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput struct{ *pulumi.OutputState } - -func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { - return o -} - -// The pattern will match if it is contained within the actual class name. -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ClassPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException) *string { - return v.ClassPattern - }).(pulumi.StringPtrOutput) -} - -// Optionally, define an exception message pattern. The pattern will match if the actual exception message contains the pattern. -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) MessagePattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException) *string { - return v.MessagePattern - }).(pulumi.StringPtrOutput) -} - -type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput struct{ *pulumi.OutputState } - -func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { - return o -} - -func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) Index(i pulumi.IntInput) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException { - return vs[0].([]ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)[vs[1].(int)] - }).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) -} - func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllPtrInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestInput)(nil)).Elem(), MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestArgs{}) @@ -84739,10 +84827,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleArrayInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleConditionInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleConditionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray{}) + pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoOutput{}) + pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoPtrOutput{}) + pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingOutput{}) + pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationAvoidOveralertingPtrOutput{}) pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllOutput{}) pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdAllPtrOutput{}) pulumi.RegisterOutputType(MobileAppAnomaliesSlowUserActionsSlowUserActionsAutoDurationThresholdSlowestOutput{}) @@ -85728,8 +85816,4 @@ func init() { pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleOutput{}) pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleArrayOutput{}) pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomErrorRulesCustomErrorRuleConditionOutput{}) - pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsOutput{}) - pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput{}) - pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput{}) - pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput{}) } diff --git a/sdk/go/dynatrace/pulumiTypes3.go b/sdk/go/dynatrace/pulumiTypes3.go index c3ce5df9..759e42fb 100644 --- a/sdk/go/dynatrace/pulumiTypes3.go +++ b/sdk/go/dynatrace/pulumiTypes3.go @@ -13,6 +13,251 @@ import ( var _ = internal.GetEnvOrDefault +type ServiceFailureExceptionRulesCustomHandledExceptions struct { + CustomHandledExceptions []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException `pulumi:"customHandledExceptions"` +} + +// ServiceFailureExceptionRulesCustomHandledExceptionsInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsArgs and ServiceFailureExceptionRulesCustomHandledExceptionsOutput values. +// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsInput` via: +// +// ServiceFailureExceptionRulesCustomHandledExceptionsArgs{...} +type ServiceFailureExceptionRulesCustomHandledExceptionsInput interface { + pulumi.Input + + ToServiceFailureExceptionRulesCustomHandledExceptionsOutput() ServiceFailureExceptionRulesCustomHandledExceptionsOutput + ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsOutput +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsArgs struct { + CustomHandledExceptions ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput `pulumi:"customHandledExceptions"` +} + +func (ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsOutput() ServiceFailureExceptionRulesCustomHandledExceptionsOutput { + return i.ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(context.Background()) +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsOutput) +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return i.ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Background()) +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsOutput).ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx) +} + +// ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsArgs, ServiceFailureExceptionRulesCustomHandledExceptionsPtr and ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput values. +// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput` via: +// +// ServiceFailureExceptionRulesCustomHandledExceptionsArgs{...} +// +// or: +// +// nil +type ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput interface { + pulumi.Input + + ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput + ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput +} + +type serviceFailureExceptionRulesCustomHandledExceptionsPtrType ServiceFailureExceptionRulesCustomHandledExceptionsArgs + +func ServiceFailureExceptionRulesCustomHandledExceptionsPtr(v *ServiceFailureExceptionRulesCustomHandledExceptionsArgs) ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput { + return (*serviceFailureExceptionRulesCustomHandledExceptionsPtrType)(v) +} + +func (*serviceFailureExceptionRulesCustomHandledExceptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() +} + +func (i *serviceFailureExceptionRulesCustomHandledExceptionsPtrType) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return i.ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Background()) +} + +func (i *serviceFailureExceptionRulesCustomHandledExceptionsPtrType) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsOutput struct{ *pulumi.OutputState } + +func (ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsOutput() ServiceFailureExceptionRulesCustomHandledExceptionsOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return o.ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(context.Background()) +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceFailureExceptionRulesCustomHandledExceptions) *ServiceFailureExceptionRulesCustomHandledExceptions { + return &v + }).(ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsOutput) CustomHandledExceptions() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { + return o.ApplyT(func(v ServiceFailureExceptionRulesCustomHandledExceptions) []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException { + return v.CustomHandledExceptions + }).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput struct{ *pulumi.OutputState } + +func (ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceFailureExceptionRulesCustomHandledExceptions)(nil)).Elem() +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput() ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsPtrOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) Elem() ServiceFailureExceptionRulesCustomHandledExceptionsOutput { + return o.ApplyT(func(v *ServiceFailureExceptionRulesCustomHandledExceptions) ServiceFailureExceptionRulesCustomHandledExceptions { + if v != nil { + return *v + } + var ret ServiceFailureExceptionRulesCustomHandledExceptions + return ret + }).(ServiceFailureExceptionRulesCustomHandledExceptionsOutput) +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput) CustomHandledExceptions() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { + return o.ApplyT(func(v *ServiceFailureExceptionRulesCustomHandledExceptions) []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException { + if v == nil { + return nil + } + return v.CustomHandledExceptions + }).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException struct { + // The pattern will match if it is contained within the actual class name. + ClassPattern *string `pulumi:"classPattern"` + // Optionally, define an exception message pattern. The pattern will match if the actual exception message contains the pattern. + MessagePattern *string `pulumi:"messagePattern"` +} + +// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs and ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput values. +// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput` via: +// +// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs{...} +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput interface { + pulumi.Input + + ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput + ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs struct { + // The pattern will match if it is contained within the actual class name. + ClassPattern pulumi.StringPtrInput `pulumi:"classPattern"` + // Optionally, define an exception message pattern. The pattern will match if the actual exception message contains the pattern. + MessagePattern pulumi.StringPtrInput `pulumi:"messagePattern"` +} + +func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { + return i.ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(context.Background()) +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) +} + +// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput is an input type that accepts ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray and ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput values. +// You can construct a concrete instance of `ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput` via: +// +// ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray{ ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs{...} } +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput interface { + pulumi.Input + + ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput + ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray []ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput + +func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { + return i.ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(context.Background()) +} + +func (i ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput struct{ *pulumi.OutputState } + +func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { + return o +} + +// The pattern will match if it is contained within the actual class name. +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) ClassPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException) *string { + return v.ClassPattern + }).(pulumi.StringPtrOutput) +} + +// Optionally, define an exception message pattern. The pattern will match if the actual exception message contains the pattern. +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) MessagePattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException) *string { + return v.MessagePattern + }).(pulumi.StringPtrOutput) +} + +type ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput struct{ *pulumi.OutputState } + +func (ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)(nil)).Elem() +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput() ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) ToServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutputWithContext(ctx context.Context) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput { + return o +} + +func (o ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput) Index(i pulumi.IntInput) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException { + return vs[0].([]ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledException)[vs[1].(int)] + }).(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput) +} + type ServiceFailureExceptionRulesIgnoredExceptions struct { CustomHandledExceptions []ServiceFailureExceptionRulesIgnoredExceptionsCustomHandledException `pulumi:"customHandledExceptions"` } @@ -46116,6 +46361,312 @@ func (o GetGenericSettingsValueArrayOutput) Index(i pulumi.IntInput) GetGenericS }).(GetGenericSettingsValueOutput) } +type GetGeoCitiesCity struct { + Latitude float64 `pulumi:"latitude"` + Longitude float64 `pulumi:"longitude"` + Name string `pulumi:"name"` +} + +// GetGeoCitiesCityInput is an input type that accepts GetGeoCitiesCityArgs and GetGeoCitiesCityOutput values. +// You can construct a concrete instance of `GetGeoCitiesCityInput` via: +// +// GetGeoCitiesCityArgs{...} +type GetGeoCitiesCityInput interface { + pulumi.Input + + ToGetGeoCitiesCityOutput() GetGeoCitiesCityOutput + ToGetGeoCitiesCityOutputWithContext(context.Context) GetGeoCitiesCityOutput +} + +type GetGeoCitiesCityArgs struct { + Latitude pulumi.Float64Input `pulumi:"latitude"` + Longitude pulumi.Float64Input `pulumi:"longitude"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGeoCitiesCityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCitiesCity)(nil)).Elem() +} + +func (i GetGeoCitiesCityArgs) ToGetGeoCitiesCityOutput() GetGeoCitiesCityOutput { + return i.ToGetGeoCitiesCityOutputWithContext(context.Background()) +} + +func (i GetGeoCitiesCityArgs) ToGetGeoCitiesCityOutputWithContext(ctx context.Context) GetGeoCitiesCityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGeoCitiesCityOutput) +} + +// GetGeoCitiesCityArrayInput is an input type that accepts GetGeoCitiesCityArray and GetGeoCitiesCityArrayOutput values. +// You can construct a concrete instance of `GetGeoCitiesCityArrayInput` via: +// +// GetGeoCitiesCityArray{ GetGeoCitiesCityArgs{...} } +type GetGeoCitiesCityArrayInput interface { + pulumi.Input + + ToGetGeoCitiesCityArrayOutput() GetGeoCitiesCityArrayOutput + ToGetGeoCitiesCityArrayOutputWithContext(context.Context) GetGeoCitiesCityArrayOutput +} + +type GetGeoCitiesCityArray []GetGeoCitiesCityInput + +func (GetGeoCitiesCityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGeoCitiesCity)(nil)).Elem() +} + +func (i GetGeoCitiesCityArray) ToGetGeoCitiesCityArrayOutput() GetGeoCitiesCityArrayOutput { + return i.ToGetGeoCitiesCityArrayOutputWithContext(context.Background()) +} + +func (i GetGeoCitiesCityArray) ToGetGeoCitiesCityArrayOutputWithContext(ctx context.Context) GetGeoCitiesCityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGeoCitiesCityArrayOutput) +} + +type GetGeoCitiesCityOutput struct{ *pulumi.OutputState } + +func (GetGeoCitiesCityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCitiesCity)(nil)).Elem() +} + +func (o GetGeoCitiesCityOutput) ToGetGeoCitiesCityOutput() GetGeoCitiesCityOutput { + return o +} + +func (o GetGeoCitiesCityOutput) ToGetGeoCitiesCityOutputWithContext(ctx context.Context) GetGeoCitiesCityOutput { + return o +} + +func (o GetGeoCitiesCityOutput) Latitude() pulumi.Float64Output { + return o.ApplyT(func(v GetGeoCitiesCity) float64 { return v.Latitude }).(pulumi.Float64Output) +} + +func (o GetGeoCitiesCityOutput) Longitude() pulumi.Float64Output { + return o.ApplyT(func(v GetGeoCitiesCity) float64 { return v.Longitude }).(pulumi.Float64Output) +} + +func (o GetGeoCitiesCityOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCitiesCity) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGeoCitiesCityArrayOutput struct{ *pulumi.OutputState } + +func (GetGeoCitiesCityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGeoCitiesCity)(nil)).Elem() +} + +func (o GetGeoCitiesCityArrayOutput) ToGetGeoCitiesCityArrayOutput() GetGeoCitiesCityArrayOutput { + return o +} + +func (o GetGeoCitiesCityArrayOutput) ToGetGeoCitiesCityArrayOutputWithContext(ctx context.Context) GetGeoCitiesCityArrayOutput { + return o +} + +func (o GetGeoCitiesCityArrayOutput) Index(i pulumi.IntInput) GetGeoCitiesCityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGeoCitiesCity { + return vs[0].([]GetGeoCitiesCity)[vs[1].(int)] + }).(GetGeoCitiesCityOutput) +} + +type GetGeoCountriesCountry struct { + Code string `pulumi:"code"` + Name string `pulumi:"name"` +} + +// GetGeoCountriesCountryInput is an input type that accepts GetGeoCountriesCountryArgs and GetGeoCountriesCountryOutput values. +// You can construct a concrete instance of `GetGeoCountriesCountryInput` via: +// +// GetGeoCountriesCountryArgs{...} +type GetGeoCountriesCountryInput interface { + pulumi.Input + + ToGetGeoCountriesCountryOutput() GetGeoCountriesCountryOutput + ToGetGeoCountriesCountryOutputWithContext(context.Context) GetGeoCountriesCountryOutput +} + +type GetGeoCountriesCountryArgs struct { + Code pulumi.StringInput `pulumi:"code"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGeoCountriesCountryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCountriesCountry)(nil)).Elem() +} + +func (i GetGeoCountriesCountryArgs) ToGetGeoCountriesCountryOutput() GetGeoCountriesCountryOutput { + return i.ToGetGeoCountriesCountryOutputWithContext(context.Background()) +} + +func (i GetGeoCountriesCountryArgs) ToGetGeoCountriesCountryOutputWithContext(ctx context.Context) GetGeoCountriesCountryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGeoCountriesCountryOutput) +} + +// GetGeoCountriesCountryArrayInput is an input type that accepts GetGeoCountriesCountryArray and GetGeoCountriesCountryArrayOutput values. +// You can construct a concrete instance of `GetGeoCountriesCountryArrayInput` via: +// +// GetGeoCountriesCountryArray{ GetGeoCountriesCountryArgs{...} } +type GetGeoCountriesCountryArrayInput interface { + pulumi.Input + + ToGetGeoCountriesCountryArrayOutput() GetGeoCountriesCountryArrayOutput + ToGetGeoCountriesCountryArrayOutputWithContext(context.Context) GetGeoCountriesCountryArrayOutput +} + +type GetGeoCountriesCountryArray []GetGeoCountriesCountryInput + +func (GetGeoCountriesCountryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGeoCountriesCountry)(nil)).Elem() +} + +func (i GetGeoCountriesCountryArray) ToGetGeoCountriesCountryArrayOutput() GetGeoCountriesCountryArrayOutput { + return i.ToGetGeoCountriesCountryArrayOutputWithContext(context.Background()) +} + +func (i GetGeoCountriesCountryArray) ToGetGeoCountriesCountryArrayOutputWithContext(ctx context.Context) GetGeoCountriesCountryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGeoCountriesCountryArrayOutput) +} + +type GetGeoCountriesCountryOutput struct{ *pulumi.OutputState } + +func (GetGeoCountriesCountryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoCountriesCountry)(nil)).Elem() +} + +func (o GetGeoCountriesCountryOutput) ToGetGeoCountriesCountryOutput() GetGeoCountriesCountryOutput { + return o +} + +func (o GetGeoCountriesCountryOutput) ToGetGeoCountriesCountryOutputWithContext(ctx context.Context) GetGeoCountriesCountryOutput { + return o +} + +func (o GetGeoCountriesCountryOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCountriesCountry) string { return v.Code }).(pulumi.StringOutput) +} + +func (o GetGeoCountriesCountryOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoCountriesCountry) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGeoCountriesCountryArrayOutput struct{ *pulumi.OutputState } + +func (GetGeoCountriesCountryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGeoCountriesCountry)(nil)).Elem() +} + +func (o GetGeoCountriesCountryArrayOutput) ToGetGeoCountriesCountryArrayOutput() GetGeoCountriesCountryArrayOutput { + return o +} + +func (o GetGeoCountriesCountryArrayOutput) ToGetGeoCountriesCountryArrayOutputWithContext(ctx context.Context) GetGeoCountriesCountryArrayOutput { + return o +} + +func (o GetGeoCountriesCountryArrayOutput) Index(i pulumi.IntInput) GetGeoCountriesCountryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGeoCountriesCountry { + return vs[0].([]GetGeoCountriesCountry)[vs[1].(int)] + }).(GetGeoCountriesCountryOutput) +} + +type GetGeoRegionsRegion struct { + Code string `pulumi:"code"` + Name string `pulumi:"name"` +} + +// GetGeoRegionsRegionInput is an input type that accepts GetGeoRegionsRegionArgs and GetGeoRegionsRegionOutput values. +// You can construct a concrete instance of `GetGeoRegionsRegionInput` via: +// +// GetGeoRegionsRegionArgs{...} +type GetGeoRegionsRegionInput interface { + pulumi.Input + + ToGetGeoRegionsRegionOutput() GetGeoRegionsRegionOutput + ToGetGeoRegionsRegionOutputWithContext(context.Context) GetGeoRegionsRegionOutput +} + +type GetGeoRegionsRegionArgs struct { + Code pulumi.StringInput `pulumi:"code"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGeoRegionsRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoRegionsRegion)(nil)).Elem() +} + +func (i GetGeoRegionsRegionArgs) ToGetGeoRegionsRegionOutput() GetGeoRegionsRegionOutput { + return i.ToGetGeoRegionsRegionOutputWithContext(context.Background()) +} + +func (i GetGeoRegionsRegionArgs) ToGetGeoRegionsRegionOutputWithContext(ctx context.Context) GetGeoRegionsRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGeoRegionsRegionOutput) +} + +// GetGeoRegionsRegionArrayInput is an input type that accepts GetGeoRegionsRegionArray and GetGeoRegionsRegionArrayOutput values. +// You can construct a concrete instance of `GetGeoRegionsRegionArrayInput` via: +// +// GetGeoRegionsRegionArray{ GetGeoRegionsRegionArgs{...} } +type GetGeoRegionsRegionArrayInput interface { + pulumi.Input + + ToGetGeoRegionsRegionArrayOutput() GetGeoRegionsRegionArrayOutput + ToGetGeoRegionsRegionArrayOutputWithContext(context.Context) GetGeoRegionsRegionArrayOutput +} + +type GetGeoRegionsRegionArray []GetGeoRegionsRegionInput + +func (GetGeoRegionsRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGeoRegionsRegion)(nil)).Elem() +} + +func (i GetGeoRegionsRegionArray) ToGetGeoRegionsRegionArrayOutput() GetGeoRegionsRegionArrayOutput { + return i.ToGetGeoRegionsRegionArrayOutputWithContext(context.Background()) +} + +func (i GetGeoRegionsRegionArray) ToGetGeoRegionsRegionArrayOutputWithContext(ctx context.Context) GetGeoRegionsRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGeoRegionsRegionArrayOutput) +} + +type GetGeoRegionsRegionOutput struct{ *pulumi.OutputState } + +func (GetGeoRegionsRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGeoRegionsRegion)(nil)).Elem() +} + +func (o GetGeoRegionsRegionOutput) ToGetGeoRegionsRegionOutput() GetGeoRegionsRegionOutput { + return o +} + +func (o GetGeoRegionsRegionOutput) ToGetGeoRegionsRegionOutputWithContext(ctx context.Context) GetGeoRegionsRegionOutput { + return o +} + +func (o GetGeoRegionsRegionOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoRegionsRegion) string { return v.Code }).(pulumi.StringOutput) +} + +func (o GetGeoRegionsRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGeoRegionsRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGeoRegionsRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetGeoRegionsRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGeoRegionsRegion)(nil)).Elem() +} + +func (o GetGeoRegionsRegionArrayOutput) ToGetGeoRegionsRegionArrayOutput() GetGeoRegionsRegionArrayOutput { + return o +} + +func (o GetGeoRegionsRegionArrayOutput) ToGetGeoRegionsRegionArrayOutputWithContext(ctx context.Context) GetGeoRegionsRegionArrayOutput { + return o +} + +func (o GetGeoRegionsRegionArrayOutput) Index(i pulumi.IntInput) GetGeoRegionsRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGeoRegionsRegion { + return vs[0].([]GetGeoRegionsRegion)[vs[1].(int)] + }).(GetGeoRegionsRegionOutput) +} + type GetHubItemsItem struct { // The activation link for a technology ActivationLink string `pulumi:"activationLink"` @@ -47207,6 +47758,10 @@ func (o GetSyntheticNodesNodeArrayOutput) Index(i pulumi.IntInput) GetSyntheticN } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsPtrInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayInput)(nil)).Elem(), ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesIgnoredExceptionsInput)(nil)).Elem(), ServiceFailureExceptionRulesIgnoredExceptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesIgnoredExceptionsPtrInput)(nil)).Elem(), ServiceFailureExceptionRulesIgnoredExceptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceFailureExceptionRulesIgnoredExceptionsCustomHandledExceptionInput)(nil)).Elem(), ServiceFailureExceptionRulesIgnoredExceptionsCustomHandledExceptionArgs{}) @@ -47784,6 +48339,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetEntitiesEntityTagTagArrayInput)(nil)).Elem(), GetEntitiesEntityTagTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGenericSettingsValueInput)(nil)).Elem(), GetGenericSettingsValueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGenericSettingsValueArrayInput)(nil)).Elem(), GetGenericSettingsValueArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGeoCitiesCityInput)(nil)).Elem(), GetGeoCitiesCityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGeoCitiesCityArrayInput)(nil)).Elem(), GetGeoCitiesCityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGeoCountriesCountryInput)(nil)).Elem(), GetGeoCountriesCountryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGeoCountriesCountryArrayInput)(nil)).Elem(), GetGeoCountriesCountryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGeoRegionsRegionInput)(nil)).Elem(), GetGeoRegionsRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGeoRegionsRegionArrayInput)(nil)).Elem(), GetGeoRegionsRegionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetHubItemsItemInput)(nil)).Elem(), GetHubItemsItemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetHubItemsItemArrayInput)(nil)).Elem(), GetHubItemsItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetIamPoliciesPolicyInput)(nil)).Elem(), GetIamPoliciesPolicyArgs{}) @@ -47796,6 +48357,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSyntheticLocationsLocationsPtrInput)(nil)).Elem(), GetSyntheticLocationsLocationsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSyntheticNodesNodeInput)(nil)).Elem(), GetSyntheticNodesNodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSyntheticNodesNodeArrayInput)(nil)).Elem(), GetSyntheticNodesNodeArray{}) + pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsOutput{}) + pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsPtrOutput{}) + pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionOutput{}) + pulumi.RegisterOutputType(ServiceFailureExceptionRulesCustomHandledExceptionsCustomHandledExceptionArrayOutput{}) pulumi.RegisterOutputType(ServiceFailureExceptionRulesIgnoredExceptionsOutput{}) pulumi.RegisterOutputType(ServiceFailureExceptionRulesIgnoredExceptionsPtrOutput{}) pulumi.RegisterOutputType(ServiceFailureExceptionRulesIgnoredExceptionsCustomHandledExceptionOutput{}) @@ -48373,6 +48938,12 @@ func init() { pulumi.RegisterOutputType(GetEntitiesEntityTagTagArrayOutput{}) pulumi.RegisterOutputType(GetGenericSettingsValueOutput{}) pulumi.RegisterOutputType(GetGenericSettingsValueArrayOutput{}) + pulumi.RegisterOutputType(GetGeoCitiesCityOutput{}) + pulumi.RegisterOutputType(GetGeoCitiesCityArrayOutput{}) + pulumi.RegisterOutputType(GetGeoCountriesCountryOutput{}) + pulumi.RegisterOutputType(GetGeoCountriesCountryArrayOutput{}) + pulumi.RegisterOutputType(GetGeoRegionsRegionOutput{}) + pulumi.RegisterOutputType(GetGeoRegionsRegionArrayOutput{}) pulumi.RegisterOutputType(GetHubItemsItemOutput{}) pulumi.RegisterOutputType(GetHubItemsItemArrayOutput{}) pulumi.RegisterOutputType(GetIamPoliciesPolicyOutput{}) diff --git a/sdk/go/dynatrace/servicenowConnection.go b/sdk/go/dynatrace/servicenowConnection.go new file mode 100644 index 00000000..262157dd --- /dev/null +++ b/sdk/go/dynatrace/servicenowConnection.go @@ -0,0 +1,288 @@ +// 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 dynatrace + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace/internal" +) + +type ServicenowConnection struct { + pulumi.CustomResourceState + + // A unique and clearly identifiable connection name to your ServiceNow instance. + Name pulumi.StringOutput `pulumi:"name"` + // Password of the ServiceNow user. + Password pulumi.StringPtrOutput `pulumi:"password"` + // Possible Values: `basic` + Type pulumi.StringOutput `pulumi:"type"` + // URL of the ServiceNow instance. + Url pulumi.StringOutput `pulumi:"url"` + // Username or Email address. + User pulumi.StringPtrOutput `pulumi:"user"` +} + +// NewServicenowConnection registers a new resource with the given unique name, arguments, and options. +func NewServicenowConnection(ctx *pulumi.Context, + name string, args *ServicenowConnectionArgs, opts ...pulumi.ResourceOption) (*ServicenowConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ServicenowConnection + err := ctx.RegisterResource("dynatrace:index/servicenowConnection:ServicenowConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetServicenowConnection gets an existing ServicenowConnection 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 GetServicenowConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ServicenowConnectionState, opts ...pulumi.ResourceOption) (*ServicenowConnection, error) { + var resource ServicenowConnection + err := ctx.ReadResource("dynatrace:index/servicenowConnection:ServicenowConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ServicenowConnection resources. +type servicenowConnectionState struct { + // A unique and clearly identifiable connection name to your ServiceNow instance. + Name *string `pulumi:"name"` + // Password of the ServiceNow user. + Password *string `pulumi:"password"` + // Possible Values: `basic` + Type *string `pulumi:"type"` + // URL of the ServiceNow instance. + Url *string `pulumi:"url"` + // Username or Email address. + User *string `pulumi:"user"` +} + +type ServicenowConnectionState struct { + // A unique and clearly identifiable connection name to your ServiceNow instance. + Name pulumi.StringPtrInput + // Password of the ServiceNow user. + Password pulumi.StringPtrInput + // Possible Values: `basic` + Type pulumi.StringPtrInput + // URL of the ServiceNow instance. + Url pulumi.StringPtrInput + // Username or Email address. + User pulumi.StringPtrInput +} + +func (ServicenowConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*servicenowConnectionState)(nil)).Elem() +} + +type servicenowConnectionArgs struct { + // A unique and clearly identifiable connection name to your ServiceNow instance. + Name *string `pulumi:"name"` + // Password of the ServiceNow user. + Password *string `pulumi:"password"` + // Possible Values: `basic` + Type string `pulumi:"type"` + // URL of the ServiceNow instance. + Url string `pulumi:"url"` + // Username or Email address. + User *string `pulumi:"user"` +} + +// The set of arguments for constructing a ServicenowConnection resource. +type ServicenowConnectionArgs struct { + // A unique and clearly identifiable connection name to your ServiceNow instance. + Name pulumi.StringPtrInput + // Password of the ServiceNow user. + Password pulumi.StringPtrInput + // Possible Values: `basic` + Type pulumi.StringInput + // URL of the ServiceNow instance. + Url pulumi.StringInput + // Username or Email address. + User pulumi.StringPtrInput +} + +func (ServicenowConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*servicenowConnectionArgs)(nil)).Elem() +} + +type ServicenowConnectionInput interface { + pulumi.Input + + ToServicenowConnectionOutput() ServicenowConnectionOutput + ToServicenowConnectionOutputWithContext(ctx context.Context) ServicenowConnectionOutput +} + +func (*ServicenowConnection) ElementType() reflect.Type { + return reflect.TypeOf((**ServicenowConnection)(nil)).Elem() +} + +func (i *ServicenowConnection) ToServicenowConnectionOutput() ServicenowConnectionOutput { + return i.ToServicenowConnectionOutputWithContext(context.Background()) +} + +func (i *ServicenowConnection) ToServicenowConnectionOutputWithContext(ctx context.Context) ServicenowConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServicenowConnectionOutput) +} + +// ServicenowConnectionArrayInput is an input type that accepts ServicenowConnectionArray and ServicenowConnectionArrayOutput values. +// You can construct a concrete instance of `ServicenowConnectionArrayInput` via: +// +// ServicenowConnectionArray{ ServicenowConnectionArgs{...} } +type ServicenowConnectionArrayInput interface { + pulumi.Input + + ToServicenowConnectionArrayOutput() ServicenowConnectionArrayOutput + ToServicenowConnectionArrayOutputWithContext(context.Context) ServicenowConnectionArrayOutput +} + +type ServicenowConnectionArray []ServicenowConnectionInput + +func (ServicenowConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ServicenowConnection)(nil)).Elem() +} + +func (i ServicenowConnectionArray) ToServicenowConnectionArrayOutput() ServicenowConnectionArrayOutput { + return i.ToServicenowConnectionArrayOutputWithContext(context.Background()) +} + +func (i ServicenowConnectionArray) ToServicenowConnectionArrayOutputWithContext(ctx context.Context) ServicenowConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServicenowConnectionArrayOutput) +} + +// ServicenowConnectionMapInput is an input type that accepts ServicenowConnectionMap and ServicenowConnectionMapOutput values. +// You can construct a concrete instance of `ServicenowConnectionMapInput` via: +// +// ServicenowConnectionMap{ "key": ServicenowConnectionArgs{...} } +type ServicenowConnectionMapInput interface { + pulumi.Input + + ToServicenowConnectionMapOutput() ServicenowConnectionMapOutput + ToServicenowConnectionMapOutputWithContext(context.Context) ServicenowConnectionMapOutput +} + +type ServicenowConnectionMap map[string]ServicenowConnectionInput + +func (ServicenowConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ServicenowConnection)(nil)).Elem() +} + +func (i ServicenowConnectionMap) ToServicenowConnectionMapOutput() ServicenowConnectionMapOutput { + return i.ToServicenowConnectionMapOutputWithContext(context.Background()) +} + +func (i ServicenowConnectionMap) ToServicenowConnectionMapOutputWithContext(ctx context.Context) ServicenowConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServicenowConnectionMapOutput) +} + +type ServicenowConnectionOutput struct{ *pulumi.OutputState } + +func (ServicenowConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServicenowConnection)(nil)).Elem() +} + +func (o ServicenowConnectionOutput) ToServicenowConnectionOutput() ServicenowConnectionOutput { + return o +} + +func (o ServicenowConnectionOutput) ToServicenowConnectionOutputWithContext(ctx context.Context) ServicenowConnectionOutput { + return o +} + +// A unique and clearly identifiable connection name to your ServiceNow instance. +func (o ServicenowConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ServicenowConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Password of the ServiceNow user. +func (o ServicenowConnectionOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicenowConnection) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +} + +// Possible Values: `basic` +func (o ServicenowConnectionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *ServicenowConnection) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// URL of the ServiceNow instance. +func (o ServicenowConnectionOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ServicenowConnection) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +// Username or Email address. +func (o ServicenowConnectionOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicenowConnection) pulumi.StringPtrOutput { return v.User }).(pulumi.StringPtrOutput) +} + +type ServicenowConnectionArrayOutput struct{ *pulumi.OutputState } + +func (ServicenowConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ServicenowConnection)(nil)).Elem() +} + +func (o ServicenowConnectionArrayOutput) ToServicenowConnectionArrayOutput() ServicenowConnectionArrayOutput { + return o +} + +func (o ServicenowConnectionArrayOutput) ToServicenowConnectionArrayOutputWithContext(ctx context.Context) ServicenowConnectionArrayOutput { + return o +} + +func (o ServicenowConnectionArrayOutput) Index(i pulumi.IntInput) ServicenowConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServicenowConnection { + return vs[0].([]*ServicenowConnection)[vs[1].(int)] + }).(ServicenowConnectionOutput) +} + +type ServicenowConnectionMapOutput struct{ *pulumi.OutputState } + +func (ServicenowConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ServicenowConnection)(nil)).Elem() +} + +func (o ServicenowConnectionMapOutput) ToServicenowConnectionMapOutput() ServicenowConnectionMapOutput { + return o +} + +func (o ServicenowConnectionMapOutput) ToServicenowConnectionMapOutputWithContext(ctx context.Context) ServicenowConnectionMapOutput { + return o +} + +func (o ServicenowConnectionMapOutput) MapIndex(k pulumi.StringInput) ServicenowConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServicenowConnection { + return vs[0].(map[string]*ServicenowConnection)[vs[1].(string)] + }).(ServicenowConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ServicenowConnectionInput)(nil)).Elem(), &ServicenowConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServicenowConnectionArrayInput)(nil)).Elem(), ServicenowConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServicenowConnectionMapInput)(nil)).Elem(), ServicenowConnectionMap{}) + pulumi.RegisterOutputType(ServicenowConnectionOutput{}) + pulumi.RegisterOutputType(ServicenowConnectionArrayOutput{}) + pulumi.RegisterOutputType(ServicenowConnectionMapOutput{}) +} diff --git a/sdk/go/dynatrace/syntheticLocation.go b/sdk/go/dynatrace/syntheticLocation.go index 0b279a22..6d0cc8d8 100644 --- a/sdk/go/dynatrace/syntheticLocation.go +++ b/sdk/go/dynatrace/syntheticLocation.go @@ -25,8 +25,8 @@ type SyntheticLocation struct { AvailabilityNotificationsEnabled pulumi.BoolPtrOutput `pulumi:"availabilityNotificationsEnabled"` // The city of the location City pulumi.StringPtrOutput `pulumi:"city"` - // The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - // example, `AT` for Austria or `PL` for Poland) + // The country code of the location. To fetch the list of available country codes, use the [GET all + // countries](https://dt-url.net/37030go) request CountryCode pulumi.StringPtrOutput `pulumi:"countryCode"` // The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The // location is deployed on Kubernetes @@ -49,9 +49,8 @@ type SyntheticLocation struct { // A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all // nodes](https://dt-url.net/miy3rpl) call Nodes pulumi.StringArrayOutput `pulumi:"nodes"` - // The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - // use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - // rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + // The region code of the location. To fetch the list of available region codes, use the [GET regions of the + // country](https://dt-url.net/az230x0) request RegionCode pulumi.StringPtrOutput `pulumi:"regionCode"` } @@ -101,8 +100,8 @@ type syntheticLocationState struct { AvailabilityNotificationsEnabled *bool `pulumi:"availabilityNotificationsEnabled"` // The city of the location City *string `pulumi:"city"` - // The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - // example, `AT` for Austria or `PL` for Poland) + // The country code of the location. To fetch the list of available country codes, use the [GET all + // countries](https://dt-url.net/37030go) request CountryCode *string `pulumi:"countryCode"` // The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The // location is deployed on Kubernetes @@ -125,9 +124,8 @@ type syntheticLocationState struct { // A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all // nodes](https://dt-url.net/miy3rpl) call Nodes []string `pulumi:"nodes"` - // The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - // use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - // rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + // The region code of the location. To fetch the list of available region codes, use the [GET regions of the + // country](https://dt-url.net/az230x0) request RegionCode *string `pulumi:"regionCode"` } @@ -142,8 +140,8 @@ type SyntheticLocationState struct { AvailabilityNotificationsEnabled pulumi.BoolPtrInput // The city of the location City pulumi.StringPtrInput - // The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - // example, `AT` for Austria or `PL` for Poland) + // The country code of the location. To fetch the list of available country codes, use the [GET all + // countries](https://dt-url.net/37030go) request CountryCode pulumi.StringPtrInput // The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The // location is deployed on Kubernetes @@ -166,9 +164,8 @@ type SyntheticLocationState struct { // A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all // nodes](https://dt-url.net/miy3rpl) call Nodes pulumi.StringArrayInput - // The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - // use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - // rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + // The region code of the location. To fetch the list of available region codes, use the [GET regions of the + // country](https://dt-url.net/az230x0) request RegionCode pulumi.StringPtrInput } @@ -187,8 +184,8 @@ type syntheticLocationArgs struct { AvailabilityNotificationsEnabled *bool `pulumi:"availabilityNotificationsEnabled"` // The city of the location City *string `pulumi:"city"` - // The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - // example, `AT` for Austria or `PL` for Poland) + // The country code of the location. To fetch the list of available country codes, use the [GET all + // countries](https://dt-url.net/37030go) request CountryCode *string `pulumi:"countryCode"` // The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The // location is deployed on Kubernetes @@ -211,9 +208,8 @@ type syntheticLocationArgs struct { // A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all // nodes](https://dt-url.net/miy3rpl) call Nodes []string `pulumi:"nodes"` - // The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - // use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - // rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + // The region code of the location. To fetch the list of available region codes, use the [GET regions of the + // country](https://dt-url.net/az230x0) request RegionCode *string `pulumi:"regionCode"` } @@ -229,8 +225,8 @@ type SyntheticLocationArgs struct { AvailabilityNotificationsEnabled pulumi.BoolPtrInput // The city of the location City pulumi.StringPtrInput - // The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - // example, `AT` for Austria or `PL` for Poland) + // The country code of the location. To fetch the list of available country codes, use the [GET all + // countries](https://dt-url.net/37030go) request CountryCode pulumi.StringPtrInput // The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The // location is deployed on Kubernetes @@ -253,9 +249,8 @@ type SyntheticLocationArgs struct { // A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all // nodes](https://dt-url.net/miy3rpl) call Nodes pulumi.StringArrayInput - // The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - // use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - // rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + // The region code of the location. To fetch the list of available region codes, use the [GET regions of the + // country](https://dt-url.net/az230x0) request RegionCode pulumi.StringPtrInput } @@ -371,8 +366,8 @@ func (o SyntheticLocationOutput) City() pulumi.StringPtrOutput { return o.ApplyT(func(v *SyntheticLocation) pulumi.StringPtrOutput { return v.City }).(pulumi.StringPtrOutput) } -// The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for -// example, `AT` for Austria or `PL` for Poland) +// The country code of the location. To fetch the list of available country codes, use the [GET all +// countries](https://dt-url.net/37030go) request func (o SyntheticLocationOutput) CountryCode() pulumi.StringPtrOutput { return o.ApplyT(func(v *SyntheticLocation) pulumi.StringPtrOutput { return v.CountryCode }).(pulumi.StringPtrOutput) } @@ -425,9 +420,8 @@ func (o SyntheticLocationOutput) Nodes() pulumi.StringArrayOutput { return o.ApplyT(func(v *SyntheticLocation) pulumi.StringArrayOutput { return v.Nodes }).(pulumi.StringArrayOutput) } -// The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) -// use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the -// rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) +// The region code of the location. To fetch the list of available region codes, use the [GET regions of the +// country](https://dt-url.net/az230x0) request func (o SyntheticLocationOutput) RegionCode() pulumi.StringPtrOutput { return o.ApplyT(func(v *SyntheticLocation) pulumi.StringPtrOutput { return v.RegionCode }).(pulumi.StringPtrOutput) } diff --git a/sdk/nodejs/automationControllerConnections.ts b/sdk/nodejs/automationControllerConnections.ts new file mode 100644 index 00000000..60c91d1c --- /dev/null +++ b/sdk/nodejs/automationControllerConnections.ts @@ -0,0 +1,131 @@ +// *** 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 class AutomationControllerConnections extends pulumi.CustomResource { + /** + * Get an existing AutomationControllerConnections 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?: AutomationControllerConnectionsState, opts?: pulumi.CustomResourceOptions): AutomationControllerConnections { + return new AutomationControllerConnections(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/automationControllerConnections:AutomationControllerConnections'; + + /** + * Returns true if the given object is an instance of AutomationControllerConnections. 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 AutomationControllerConnections { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AutomationControllerConnections.__pulumiType; + } + + /** + * A unique and clearly identifiable connection name. + */ + public readonly name!: pulumi.Output; + /** + * API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + */ + public readonly token!: pulumi.Output; + /** + * Possible Values: `Api_token` + */ + public readonly type!: pulumi.Output; + /** + * URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + */ + public readonly url!: pulumi.Output; + + /** + * Create a AutomationControllerConnections 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: AutomationControllerConnectionsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AutomationControllerConnectionsArgs | AutomationControllerConnectionsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AutomationControllerConnectionsState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["token"] = state ? state.token : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as AutomationControllerConnectionsArgs | undefined; + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["token"] = args?.token ? pulumi.secret(args.token) : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["token"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(AutomationControllerConnections.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AutomationControllerConnections resources. + */ +export interface AutomationControllerConnectionsState { + /** + * A unique and clearly identifiable connection name. + */ + name?: pulumi.Input; + /** + * API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + */ + token?: pulumi.Input; + /** + * Possible Values: `Api_token` + */ + type?: pulumi.Input; + /** + * URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AutomationControllerConnections resource. + */ +export interface AutomationControllerConnectionsArgs { + /** + * A unique and clearly identifiable connection name. + */ + name?: pulumi.Input; + /** + * API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + */ + token?: pulumi.Input; + /** + * Possible Values: `Api_token` + */ + type: pulumi.Input; + /** + * URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/azureCredentials.ts b/sdk/nodejs/azureCredentials.ts index f29f52f7..6e4c69a7 100644 --- a/sdk/nodejs/azureCredentials.ts +++ b/sdk/nodejs/azureCredentials.ts @@ -57,7 +57,7 @@ export class AzureCredentials extends pulumi.CustomResource { /** * The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed */ - public readonly label!: pulumi.Output; + public readonly label!: pulumi.Output; /** * A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. */ @@ -120,6 +120,9 @@ export class AzureCredentials extends pulumi.CustomResource { if ((!args || args.active === undefined) && !opts.urn) { throw new Error("Missing required property 'active'"); } + if ((!args || args.label === undefined) && !opts.urn) { + throw new Error("Missing required property 'label'"); + } if ((!args || args.monitorOnlyTaggedEntities === undefined) && !opts.urn) { throw new Error("Missing required property 'monitorOnlyTaggedEntities'"); } @@ -231,7 +234,7 @@ export interface AzureCredentialsArgs { /** * The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed */ - label?: pulumi.Input; + label: pulumi.Input; /** * A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. */ diff --git a/sdk/nodejs/defaultLaunchpad.ts b/sdk/nodejs/defaultLaunchpad.ts new file mode 100644 index 00000000..a1712f82 --- /dev/null +++ b/sdk/nodejs/defaultLaunchpad.ts @@ -0,0 +1,83 @@ +// *** 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"; + +export class DefaultLaunchpad extends pulumi.CustomResource { + /** + * Get an existing DefaultLaunchpad 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?: DefaultLaunchpadState, opts?: pulumi.CustomResourceOptions): DefaultLaunchpad { + return new DefaultLaunchpad(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/defaultLaunchpad:DefaultLaunchpad'; + + /** + * Returns true if the given object is an instance of DefaultLaunchpad. 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 DefaultLaunchpad { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DefaultLaunchpad.__pulumiType; + } + + /** + * Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + */ + public readonly groupLaunchpads!: pulumi.Output; + + /** + * Create a DefaultLaunchpad 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?: DefaultLaunchpadArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DefaultLaunchpadArgs | DefaultLaunchpadState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DefaultLaunchpadState | undefined; + resourceInputs["groupLaunchpads"] = state ? state.groupLaunchpads : undefined; + } else { + const args = argsOrState as DefaultLaunchpadArgs | undefined; + resourceInputs["groupLaunchpads"] = args ? args.groupLaunchpads : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DefaultLaunchpad.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DefaultLaunchpad resources. + */ +export interface DefaultLaunchpadState { + /** + * Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + */ + groupLaunchpads?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DefaultLaunchpad resource. + */ +export interface DefaultLaunchpadArgs { + /** + * Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + */ + groupLaunchpads?: pulumi.Input; +} diff --git a/sdk/nodejs/eventDrivenAnsibleConnections.ts b/sdk/nodejs/eventDrivenAnsibleConnections.ts new file mode 100644 index 00000000..5e482ce7 --- /dev/null +++ b/sdk/nodejs/eventDrivenAnsibleConnections.ts @@ -0,0 +1,131 @@ +// *** 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 class EventDrivenAnsibleConnections extends pulumi.CustomResource { + /** + * Get an existing EventDrivenAnsibleConnections 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?: EventDrivenAnsibleConnectionsState, opts?: pulumi.CustomResourceOptions): EventDrivenAnsibleConnections { + return new EventDrivenAnsibleConnections(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections'; + + /** + * Returns true if the given object is an instance of EventDrivenAnsibleConnections. 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 EventDrivenAnsibleConnections { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EventDrivenAnsibleConnections.__pulumiType; + } + + /** + * A unique and clearly identifiable connection name. + */ + public readonly name!: pulumi.Output; + /** + * API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + */ + public readonly token!: pulumi.Output; + /** + * Possible Values: `Api_token` + */ + public readonly type!: pulumi.Output; + /** + * URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + */ + public readonly url!: pulumi.Output; + + /** + * Create a EventDrivenAnsibleConnections 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: EventDrivenAnsibleConnectionsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: EventDrivenAnsibleConnectionsArgs | EventDrivenAnsibleConnectionsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as EventDrivenAnsibleConnectionsState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["token"] = state ? state.token : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as EventDrivenAnsibleConnectionsArgs | undefined; + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["token"] = args?.token ? pulumi.secret(args.token) : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["token"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(EventDrivenAnsibleConnections.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering EventDrivenAnsibleConnections resources. + */ +export interface EventDrivenAnsibleConnectionsState { + /** + * A unique and clearly identifiable connection name. + */ + name?: pulumi.Input; + /** + * API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + */ + token?: pulumi.Input; + /** + * Possible Values: `Api_token` + */ + type?: pulumi.Input; + /** + * URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a EventDrivenAnsibleConnections resource. + */ +export interface EventDrivenAnsibleConnectionsArgs { + /** + * A unique and clearly identifiable connection name. + */ + name?: pulumi.Input; + /** + * API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + */ + token?: pulumi.Input; + /** + * Possible Values: `Api_token` + */ + type: pulumi.Input; + /** + * URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/frequentIssues.ts b/sdk/nodejs/frequentIssues.ts index aa9d4c8c..69ea88cb 100644 --- a/sdk/nodejs/frequentIssues.ts +++ b/sdk/nodejs/frequentIssues.ts @@ -36,6 +36,10 @@ export class FrequentIssues extends pulumi.CustomResource { * Detect frequent issues within applications, enabled (`true`) or disabled (`false`) */ public readonly detectApps!: pulumi.Output; + /** + * Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + */ + public readonly detectEnv!: pulumi.Output; /** * Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) */ @@ -59,6 +63,7 @@ export class FrequentIssues extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FrequentIssuesState | undefined; resourceInputs["detectApps"] = state ? state.detectApps : undefined; + resourceInputs["detectEnv"] = state ? state.detectEnv : undefined; resourceInputs["detectInfra"] = state ? state.detectInfra : undefined; resourceInputs["detectTxn"] = state ? state.detectTxn : undefined; } else { @@ -73,6 +78,7 @@ export class FrequentIssues extends pulumi.CustomResource { throw new Error("Missing required property 'detectTxn'"); } resourceInputs["detectApps"] = args ? args.detectApps : undefined; + resourceInputs["detectEnv"] = args ? args.detectEnv : undefined; resourceInputs["detectInfra"] = args ? args.detectInfra : undefined; resourceInputs["detectTxn"] = args ? args.detectTxn : undefined; } @@ -89,6 +95,10 @@ export interface FrequentIssuesState { * Detect frequent issues within applications, enabled (`true`) or disabled (`false`) */ detectApps?: pulumi.Input; + /** + * Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + */ + detectEnv?: pulumi.Input; /** * Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) */ @@ -107,6 +117,10 @@ export interface FrequentIssuesArgs { * Detect frequent issues within applications, enabled (`true`) or disabled (`false`) */ detectApps: pulumi.Input; + /** + * Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + */ + detectEnv?: pulumi.Input; /** * Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) */ diff --git a/sdk/nodejs/getAlertingProfile.ts b/sdk/nodejs/getAlertingProfile.ts index c8e55a1b..9ce20a1c 100644 --- a/sdk/nodejs/getAlertingProfile.ts +++ b/sdk/nodejs/getAlertingProfile.ts @@ -79,7 +79,7 @@ export interface GetAlertingProfileResult { * }); * ``` */ -export function getAlertingProfileOutput(args: GetAlertingProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAlertingProfileOutput(args: GetAlertingProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAlertingProfile:getAlertingProfile", { "name": args.name, diff --git a/sdk/nodejs/getAlertingProfiles.ts b/sdk/nodejs/getAlertingProfiles.ts index 0491c44e..f230f00f 100644 --- a/sdk/nodejs/getAlertingProfiles.ts +++ b/sdk/nodejs/getAlertingProfiles.ts @@ -38,7 +38,7 @@ export interface GetAlertingProfilesResult { /** * The alerting profiles data source allows retrieval of all alerting profiles. */ -export function getAlertingProfilesOutput(args?: GetAlertingProfilesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAlertingProfilesOutput(args?: GetAlertingProfilesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAlertingProfiles:getAlertingProfiles", { diff --git a/sdk/nodejs/getApiToken.ts b/sdk/nodejs/getApiToken.ts index 79d090e2..8e60681c 100644 --- a/sdk/nodejs/getApiToken.ts +++ b/sdk/nodejs/getApiToken.ts @@ -86,7 +86,7 @@ export interface GetApiTokenResult { * export const example = exampleApiToken; * ``` */ -export function getApiTokenOutput(args: GetApiTokenOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getApiTokenOutput(args: GetApiTokenOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getApiToken:getApiToken", { "name": args.name, diff --git a/sdk/nodejs/getApiTokens.ts b/sdk/nodejs/getApiTokens.ts index 49dfd4c6..53f84591 100644 --- a/sdk/nodejs/getApiTokens.ts +++ b/sdk/nodejs/getApiTokens.ts @@ -48,7 +48,7 @@ export interface GetApiTokensResult { * export const example = exampleApiTokens; * ``` */ -export function getApiTokensOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getApiTokensOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getApiTokens:getApiTokens", { }, opts); diff --git a/sdk/nodejs/getApplication.ts b/sdk/nodejs/getApplication.ts index 3a7e363c..464694e6 100644 --- a/sdk/nodejs/getApplication.ts +++ b/sdk/nodejs/getApplication.ts @@ -78,7 +78,7 @@ export interface GetApplicationResult { * }); * ``` */ -export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getApplication:getApplication", { "name": args.name, diff --git a/sdk/nodejs/getAttackAlerting.ts b/sdk/nodejs/getAttackAlerting.ts index a32f70ea..3f66d880 100644 --- a/sdk/nodejs/getAttackAlerting.ts +++ b/sdk/nodejs/getAttackAlerting.ts @@ -66,7 +66,7 @@ export interface GetAttackAlertingResult { * export const id = example.then(example => example.id); * ``` */ -export function getAttackAlertingOutput(args: GetAttackAlertingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAttackAlertingOutput(args: GetAttackAlertingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAttackAlerting:getAttackAlerting", { "name": args.name, diff --git a/sdk/nodejs/getAutotag.ts b/sdk/nodejs/getAutotag.ts index 3ecf3601..de7f744a 100644 --- a/sdk/nodejs/getAutotag.ts +++ b/sdk/nodejs/getAutotag.ts @@ -152,7 +152,7 @@ export interface GetAutotagResult { * }); * ``` */ -export function getAutotagOutput(args: GetAutotagOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAutotagOutput(args: GetAutotagOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAutotag:getAutotag", { "name": args.name, diff --git a/sdk/nodejs/getAwsCredentials.ts b/sdk/nodejs/getAwsCredentials.ts index 9b603803..2630115c 100644 --- a/sdk/nodejs/getAwsCredentials.ts +++ b/sdk/nodejs/getAwsCredentials.ts @@ -38,7 +38,7 @@ export interface GetAwsCredentialsResult { * * - `label` (String) - The label/name of the AWS credential */ -export function getAwsCredentialsOutput(args: GetAwsCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAwsCredentialsOutput(args: GetAwsCredentialsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAwsCredentials:getAwsCredentials", { "label": args.label, diff --git a/sdk/nodejs/getAwsIamExternal.ts b/sdk/nodejs/getAwsIamExternal.ts index 6aea4f84..526fd121 100644 --- a/sdk/nodejs/getAwsIamExternal.ts +++ b/sdk/nodejs/getAwsIamExternal.ts @@ -25,7 +25,7 @@ export interface GetAwsIamExternalResult { /** * The AWS IAM external data source allows the AWS IAM external ID to be retrieved. */ -export function getAwsIamExternalOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAwsIamExternalOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAwsIamExternal:getAwsIamExternal", { }, opts); diff --git a/sdk/nodejs/getAwsSupportedServices.ts b/sdk/nodejs/getAwsSupportedServices.ts index c3b48ded..73d7e1dc 100644 --- a/sdk/nodejs/getAwsSupportedServices.ts +++ b/sdk/nodejs/getAwsSupportedServices.ts @@ -53,7 +53,7 @@ export interface GetAwsSupportedServicesResult { * * For an example of this data source, please refer to the Resource Example Usage of the dynatrace.AwsService resource. */ -export function getAwsSupportedServicesOutput(args?: GetAwsSupportedServicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAwsSupportedServicesOutput(args?: GetAwsSupportedServicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAwsSupportedServices:getAwsSupportedServices", { diff --git a/sdk/nodejs/getAzureCredentials.ts b/sdk/nodejs/getAzureCredentials.ts index 04d03344..5833df03 100644 --- a/sdk/nodejs/getAzureCredentials.ts +++ b/sdk/nodejs/getAzureCredentials.ts @@ -38,7 +38,7 @@ export interface GetAzureCredentialsResult { * * - `label` (String) - The label/name of the Azure credential */ -export function getAzureCredentialsOutput(args: GetAzureCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAzureCredentialsOutput(args: GetAzureCredentialsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAzureCredentials:getAzureCredentials", { "label": args.label, diff --git a/sdk/nodejs/getAzureSupportedServices.ts b/sdk/nodejs/getAzureSupportedServices.ts index cf144153..13799bc4 100644 --- a/sdk/nodejs/getAzureSupportedServices.ts +++ b/sdk/nodejs/getAzureSupportedServices.ts @@ -53,7 +53,7 @@ export interface GetAzureSupportedServicesResult { * * For an example of this data source, please refer to the Resource Example Usage of the dynatrace.AzureService resource. */ -export function getAzureSupportedServicesOutput(args?: GetAzureSupportedServicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAzureSupportedServicesOutput(args?: GetAzureSupportedServicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getAzureSupportedServices:getAzureSupportedServices", { diff --git a/sdk/nodejs/getCalculatedServiceMetric.ts b/sdk/nodejs/getCalculatedServiceMetric.ts index 250aa95a..e35bb9b2 100644 --- a/sdk/nodejs/getCalculatedServiceMetric.ts +++ b/sdk/nodejs/getCalculatedServiceMetric.ts @@ -62,7 +62,7 @@ export interface GetCalculatedServiceMetricResult { * export const groups = example.then(example => example.id); * ``` */ -export function getCalculatedServiceMetricOutput(args: GetCalculatedServiceMetricOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getCalculatedServiceMetricOutput(args: GetCalculatedServiceMetricOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric", { "name": args.name, diff --git a/sdk/nodejs/getCredentials.ts b/sdk/nodejs/getCredentials.ts index b9f055dc..634c0dc6 100644 --- a/sdk/nodejs/getCredentials.ts +++ b/sdk/nodejs/getCredentials.ts @@ -157,7 +157,7 @@ export interface GetCredentialsResult { * }); * ``` */ -export function getCredentialsOutput(args?: GetCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getCredentialsOutput(args?: GetCredentialsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getCredentials:getCredentials", { diff --git a/sdk/nodejs/getDashboard.ts b/sdk/nodejs/getDashboard.ts index 97509f34..51902188 100644 --- a/sdk/nodejs/getDashboard.ts +++ b/sdk/nodejs/getDashboard.ts @@ -73,7 +73,7 @@ export interface GetDashboardResult { * export const id = example.then(example => example.id); * ``` */ -export function getDashboardOutput(args: GetDashboardOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDashboardOutput(args: GetDashboardOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getDashboard:getDashboard", { "name": args.name, diff --git a/sdk/nodejs/getDocuments.ts b/sdk/nodejs/getDocuments.ts index c0393e30..a00f244c 100644 --- a/sdk/nodejs/getDocuments.ts +++ b/sdk/nodejs/getDocuments.ts @@ -82,7 +82,7 @@ export interface GetDocumentsResult { * }); * ``` */ -export function getDocumentsOutput(args?: GetDocumentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDocumentsOutput(args?: GetDocumentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getDocuments:getDocuments", { diff --git a/sdk/nodejs/getEntities.ts b/sdk/nodejs/getEntities.ts index bba85141..95a4d7ba 100644 --- a/sdk/nodejs/getEntities.ts +++ b/sdk/nodejs/getEntities.ts @@ -75,7 +75,7 @@ export interface GetEntitiesResult { * export const serviceList = test.then(test => test.entities); * ``` */ -export function getEntitiesOutput(args?: GetEntitiesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getEntitiesOutput(args?: GetEntitiesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getEntities:getEntities", { diff --git a/sdk/nodejs/getEntity.ts b/sdk/nodejs/getEntity.ts index bc4989b8..ba4477ff 100644 --- a/sdk/nodejs/getEntity.ts +++ b/sdk/nodejs/getEntity.ts @@ -84,7 +84,7 @@ export interface GetEntityResult { * export const id = test.then(test => test.id); * ``` */ -export function getEntityOutput(args?: GetEntityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getEntityOutput(args?: GetEntityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getEntity:getEntity", { diff --git a/sdk/nodejs/getFailureDetectionParameters.ts b/sdk/nodejs/getFailureDetectionParameters.ts index 0fc56147..cb4db330 100644 --- a/sdk/nodejs/getFailureDetectionParameters.ts +++ b/sdk/nodejs/getFailureDetectionParameters.ts @@ -66,7 +66,7 @@ export interface GetFailureDetectionParametersResult { * export const id = example.then(example => example.id); * ``` */ -export function getFailureDetectionParametersOutput(args: GetFailureDetectionParametersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getFailureDetectionParametersOutput(args: GetFailureDetectionParametersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters", { "name": args.name, diff --git a/sdk/nodejs/getGenericSetting.ts b/sdk/nodejs/getGenericSetting.ts index fccb8dc1..37761b1b 100644 --- a/sdk/nodejs/getGenericSetting.ts +++ b/sdk/nodejs/getGenericSetting.ts @@ -90,7 +90,7 @@ export interface GetGenericSettingResult { * export const genericSetting = example; * ``` */ -export function getGenericSettingOutput(args?: GetGenericSettingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getGenericSettingOutput(args?: GetGenericSettingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getGenericSetting:getGenericSetting", { diff --git a/sdk/nodejs/getGenericSettings.ts b/sdk/nodejs/getGenericSettings.ts index 1b4b7c72..bc5161d7 100644 --- a/sdk/nodejs/getGenericSettings.ts +++ b/sdk/nodejs/getGenericSettings.ts @@ -86,7 +86,7 @@ export interface GetGenericSettingsResult { * export const genericSettings = example; * ``` */ -export function getGenericSettingsOutput(args?: GetGenericSettingsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getGenericSettingsOutput(args?: GetGenericSettingsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getGenericSettings:getGenericSettings", { diff --git a/sdk/nodejs/getGeoCities.ts b/sdk/nodejs/getGeoCities.ts new file mode 100644 index 00000000..dfdac819 --- /dev/null +++ b/sdk/nodejs/getGeoCities.ts @@ -0,0 +1,111 @@ +// *** 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"; + +/** + * The `dynatrace.getGeoCities` data source retrieves the list of cities and their codes based on country and region code. + * + * - `countryCode` (String) - The ISO code of the required country + * - `regionCode` (String) - The code of the required region + * + * Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as dynatrace from "@pulumi/dynatrace"; + * + * const example = dynatrace.getGeoCities({ + * countryCode: "FR", + * regionCode: "BRE", + * }); + * export const test = example; + * ``` + */ +export function getGeoCities(args: GetGeoCitiesArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("dynatrace:index/getGeoCities:getGeoCities", { + "countryCode": args.countryCode, + "regionCode": args.regionCode, + }, opts); +} + +/** + * A collection of arguments for invoking getGeoCities. + */ +export interface GetGeoCitiesArgs { + /** + * The ISO code of the required country + */ + countryCode: string; + /** + * The code of the required region + */ + regionCode: string; +} + +/** + * A collection of values returned by getGeoCities. + */ +export interface GetGeoCitiesResult { + readonly cities: outputs.GetGeoCitiesCity[]; + /** + * The ISO code of the required country + */ + readonly countryCode: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * The code of the required region + */ + readonly regionCode: string; +} +/** + * The `dynatrace.getGeoCities` data source retrieves the list of cities and their codes based on country and region code. + * + * - `countryCode` (String) - The ISO code of the required country + * - `regionCode` (String) - The code of the required region + * + * Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as dynatrace from "@pulumi/dynatrace"; + * + * const example = dynatrace.getGeoCities({ + * countryCode: "FR", + * regionCode: "BRE", + * }); + * export const test = example; + * ``` + */ +export function getGeoCitiesOutput(args: GetGeoCitiesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("dynatrace:index/getGeoCities:getGeoCities", { + "countryCode": args.countryCode, + "regionCode": args.regionCode, + }, opts); +} + +/** + * A collection of arguments for invoking getGeoCities. + */ +export interface GetGeoCitiesOutputArgs { + /** + * The ISO code of the required country + */ + countryCode: pulumi.Input; + /** + * The code of the required region + */ + regionCode: pulumi.Input; +} diff --git a/sdk/nodejs/getGeoCountries.ts b/sdk/nodejs/getGeoCountries.ts new file mode 100644 index 00000000..c9e7853d --- /dev/null +++ b/sdk/nodejs/getGeoCountries.ts @@ -0,0 +1,59 @@ +// *** 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"; + +/** + * The `dynatrace.getGeoCountries` data source retrieves the list of countries and their codes. + * + * Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as dynatrace from "@pulumi/dynatrace"; + * + * const example = dynatrace.getGeoCountries({}); + * export const test = example; + * ``` + */ +export function getGeoCountries(opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("dynatrace:index/getGeoCountries:getGeoCountries", { + }, opts); +} + +/** + * A collection of values returned by getGeoCountries. + */ +export interface GetGeoCountriesResult { + readonly countries: outputs.GetGeoCountriesCountry[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} +/** + * The `dynatrace.getGeoCountries` data source retrieves the list of countries and their codes. + * + * Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as dynatrace from "@pulumi/dynatrace"; + * + * const example = dynatrace.getGeoCountries({}); + * export const test = example; + * ``` + */ +export function getGeoCountriesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("dynatrace:index/getGeoCountries:getGeoCountries", { + }, opts); +} diff --git a/sdk/nodejs/getGeoRegions.ts b/sdk/nodejs/getGeoRegions.ts new file mode 100644 index 00000000..225efa2a --- /dev/null +++ b/sdk/nodejs/getGeoRegions.ts @@ -0,0 +1,93 @@ +// *** 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"; + +/** + * The `dynatrace.getGeoRegions` data source retrieves the list of regions and their codes based on country code. + * + * - `countryCode` (String) - The ISO code of the required country + * + * Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as dynatrace from "@pulumi/dynatrace"; + * + * const example = dynatrace.getGeoRegions({ + * countryCode: "FR", + * }); + * export const test = example; + * ``` + */ +export function getGeoRegions(args: GetGeoRegionsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("dynatrace:index/getGeoRegions:getGeoRegions", { + "countryCode": args.countryCode, + }, opts); +} + +/** + * A collection of arguments for invoking getGeoRegions. + */ +export interface GetGeoRegionsArgs { + /** + * The ISO code of the required country + */ + countryCode: string; +} + +/** + * A collection of values returned by getGeoRegions. + */ +export interface GetGeoRegionsResult { + /** + * The ISO code of the required country + */ + readonly countryCode: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly regions: outputs.GetGeoRegionsRegion[]; +} +/** + * The `dynatrace.getGeoRegions` data source retrieves the list of regions and their codes based on country code. + * + * - `countryCode` (String) - The ISO code of the required country + * + * Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as dynatrace from "@pulumi/dynatrace"; + * + * const example = dynatrace.getGeoRegions({ + * countryCode: "FR", + * }); + * export const test = example; + * ``` + */ +export function getGeoRegionsOutput(args: GetGeoRegionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("dynatrace:index/getGeoRegions:getGeoRegions", { + "countryCode": args.countryCode, + }, opts); +} + +/** + * A collection of arguments for invoking getGeoRegions. + */ +export interface GetGeoRegionsOutputArgs { + /** + * The ISO code of the required country + */ + countryCode: pulumi.Input; +} diff --git a/sdk/nodejs/getHost.ts b/sdk/nodejs/getHost.ts index 9e7ca5ce..b8bd56bd 100644 --- a/sdk/nodejs/getHost.ts +++ b/sdk/nodejs/getHost.ts @@ -97,7 +97,7 @@ export interface GetHostResult { * }]}); * ``` */ -export function getHostOutput(args: GetHostOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getHostOutput(args: GetHostOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getHost:getHost", { "name": args.name, diff --git a/sdk/nodejs/getHubItems.ts b/sdk/nodejs/getHubItems.ts index bf94459e..05ddb71d 100644 --- a/sdk/nodejs/getHubItems.ts +++ b/sdk/nodejs/getHubItems.ts @@ -89,7 +89,7 @@ export interface GetHubItemsResult { * } * ``` */ -export function getHubItemsOutput(args?: GetHubItemsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getHubItemsOutput(args?: GetHubItemsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getHubItems:getHubItems", { diff --git a/sdk/nodejs/getIamGroup.ts b/sdk/nodejs/getIamGroup.ts index c150e053..39b7941e 100644 --- a/sdk/nodejs/getIamGroup.ts +++ b/sdk/nodejs/getIamGroup.ts @@ -70,7 +70,7 @@ export interface GetIamGroupResult { * export const groups = example.then(example => example.id); * ``` */ -export function getIamGroupOutput(args: GetIamGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamGroupOutput(args: GetIamGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getIamGroup:getIamGroup", { "name": args.name, diff --git a/sdk/nodejs/getIamGroups.ts b/sdk/nodejs/getIamGroups.ts index 65b8b5c6..30b62a78 100644 --- a/sdk/nodejs/getIamGroups.ts +++ b/sdk/nodejs/getIamGroups.ts @@ -54,7 +54,7 @@ export interface GetIamGroupsResult { * * ### Example output */ -export function getIamGroupsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamGroupsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getIamGroups:getIamGroups", { }, opts); diff --git a/sdk/nodejs/getIamPolicies.ts b/sdk/nodejs/getIamPolicies.ts index 0d7711e4..dc8997b3 100644 --- a/sdk/nodejs/getIamPolicies.ts +++ b/sdk/nodejs/getIamPolicies.ts @@ -165,7 +165,7 @@ export interface GetIamPoliciesResult { * export const policies = all.then(all => all.policies); * ``` */ -export function getIamPoliciesOutput(args?: GetIamPoliciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamPoliciesOutput(args?: GetIamPoliciesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getIamPolicies:getIamPolicies", { diff --git a/sdk/nodejs/getIamPolicy.ts b/sdk/nodejs/getIamPolicy.ts index 8f361697..f5524373 100644 --- a/sdk/nodejs/getIamPolicy.ts +++ b/sdk/nodejs/getIamPolicy.ts @@ -103,7 +103,7 @@ export interface GetIamPolicyResult { * * ## Example Output */ -export function getIamPolicyOutput(args: GetIamPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamPolicyOutput(args: GetIamPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getIamPolicy:getIamPolicy", { "account": args.account, diff --git a/sdk/nodejs/getIamUser.ts b/sdk/nodejs/getIamUser.ts index 09c08d1a..07bd128a 100644 --- a/sdk/nodejs/getIamUser.ts +++ b/sdk/nodejs/getIamUser.ts @@ -68,7 +68,7 @@ export interface GetIamUserResult { * export const groups = userA.then(userA => userA.groups); * ``` */ -export function getIamUserOutput(args: GetIamUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamUserOutput(args: GetIamUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getIamUser:getIamUser", { "email": args.email, diff --git a/sdk/nodejs/getLambdaAgentVersion.ts b/sdk/nodejs/getLambdaAgentVersion.ts index d46a90a3..a077fd72 100644 --- a/sdk/nodejs/getLambdaAgentVersion.ts +++ b/sdk/nodejs/getLambdaAgentVersion.ts @@ -115,7 +115,7 @@ export interface GetLambdaAgentVersionResult { * export const latest = example; * ``` */ -export function getLambdaAgentVersionOutput(args?: GetLambdaAgentVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLambdaAgentVersionOutput(args?: GetLambdaAgentVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion", { diff --git a/sdk/nodejs/getManagementZone.ts b/sdk/nodejs/getManagementZone.ts index ba044b19..9839d872 100644 --- a/sdk/nodejs/getManagementZone.ts +++ b/sdk/nodejs/getManagementZone.ts @@ -122,7 +122,7 @@ export interface GetManagementZoneResult { * }); * ``` */ -export function getManagementZoneOutput(args: GetManagementZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getManagementZoneOutput(args: GetManagementZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getManagementZone:getManagementZone", { "name": args.name, diff --git a/sdk/nodejs/getManagementZoneV2.ts b/sdk/nodejs/getManagementZoneV2.ts index 32d6f6d1..b3236eb7 100644 --- a/sdk/nodejs/getManagementZoneV2.ts +++ b/sdk/nodejs/getManagementZoneV2.ts @@ -118,7 +118,7 @@ export interface GetManagementZoneV2Result { * }); * ``` */ -export function getManagementZoneV2Output(args: GetManagementZoneV2OutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getManagementZoneV2Output(args: GetManagementZoneV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getManagementZoneV2:getManagementZoneV2", { "name": args.name, diff --git a/sdk/nodejs/getManagementZones.ts b/sdk/nodejs/getManagementZones.ts index 9faabb28..bc13fa61 100644 --- a/sdk/nodejs/getManagementZones.ts +++ b/sdk/nodejs/getManagementZones.ts @@ -98,7 +98,7 @@ export interface GetManagementZonesResult { * }); * ``` */ -export function getManagementZonesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getManagementZonesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getManagementZones:getManagementZones", { }, opts); diff --git a/sdk/nodejs/getMobileApplication.ts b/sdk/nodejs/getMobileApplication.ts index d5ed2dde..98db722e 100644 --- a/sdk/nodejs/getMobileApplication.ts +++ b/sdk/nodejs/getMobileApplication.ts @@ -62,7 +62,7 @@ export interface GetMobileApplicationResult { * export const id = example.then(example => example.id); * ``` */ -export function getMobileApplicationOutput(args: GetMobileApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getMobileApplicationOutput(args: GetMobileApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getMobileApplication:getMobileApplication", { "name": args.name, diff --git a/sdk/nodejs/getProcess.ts b/sdk/nodejs/getProcess.ts index ba9cab96..dca562da 100644 --- a/sdk/nodejs/getProcess.ts +++ b/sdk/nodejs/getProcess.ts @@ -97,7 +97,7 @@ export interface GetProcessResult { * }]}); * ``` */ -export function getProcessOutput(args: GetProcessOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getProcessOutput(args: GetProcessOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getProcess:getProcess", { "name": args.name, diff --git a/sdk/nodejs/getProcessGroup.ts b/sdk/nodejs/getProcessGroup.ts index 07ed3956..45f8d220 100644 --- a/sdk/nodejs/getProcessGroup.ts +++ b/sdk/nodejs/getProcessGroup.ts @@ -97,7 +97,7 @@ export interface GetProcessGroupResult { * }]}); * ``` */ -export function getProcessGroupOutput(args: GetProcessGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getProcessGroupOutput(args: GetProcessGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getProcessGroup:getProcessGroup", { "name": args.name, diff --git a/sdk/nodejs/getRemoteEnvironments.ts b/sdk/nodejs/getRemoteEnvironments.ts index fed345fc..caab54c9 100644 --- a/sdk/nodejs/getRemoteEnvironments.ts +++ b/sdk/nodejs/getRemoteEnvironments.ts @@ -48,7 +48,7 @@ export interface GetRemoteEnvironmentsResult { * export const remoteEnvironments = example; * ``` */ -export function getRemoteEnvironmentsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRemoteEnvironmentsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getRemoteEnvironments:getRemoteEnvironments", { }, opts); diff --git a/sdk/nodejs/getRequestAttribute.ts b/sdk/nodejs/getRequestAttribute.ts index acbffc3b..f78a5c06 100644 --- a/sdk/nodejs/getRequestAttribute.ts +++ b/sdk/nodejs/getRequestAttribute.ts @@ -62,7 +62,7 @@ export interface GetRequestAttributeResult { * export const id = example.then(example => example.id); * ``` */ -export function getRequestAttributeOutput(args: GetRequestAttributeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRequestAttributeOutput(args: GetRequestAttributeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getRequestAttribute:getRequestAttribute", { "name": args.name, diff --git a/sdk/nodejs/getRequestNaming.ts b/sdk/nodejs/getRequestNaming.ts index ea71c4ab..0ddde135 100644 --- a/sdk/nodejs/getRequestNaming.ts +++ b/sdk/nodejs/getRequestNaming.ts @@ -66,7 +66,7 @@ export interface GetRequestNamingResult { * export const id = example.then(example => example.id); * ``` */ -export function getRequestNamingOutput(args: GetRequestNamingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRequestNamingOutput(args: GetRequestNamingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getRequestNaming:getRequestNaming", { "name": args.name, diff --git a/sdk/nodejs/getService.ts b/sdk/nodejs/getService.ts index d2360e7a..f16932ad 100644 --- a/sdk/nodejs/getService.ts +++ b/sdk/nodejs/getService.ts @@ -94,7 +94,7 @@ export interface GetServiceResult { * const _name_ = new dynatrace.KeyRequests("#name#", {service: test.then(test => test.id)}); * ``` */ -export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getService:getService", { "name": args.name, diff --git a/sdk/nodejs/getSlo.ts b/sdk/nodejs/getSlo.ts index cb9ba5f0..49c910ae 100644 --- a/sdk/nodejs/getSlo.ts +++ b/sdk/nodejs/getSlo.ts @@ -114,7 +114,7 @@ export interface GetSloResult { * export const id = example.then(example => example.id); * ``` */ -export function getSloOutput(args: GetSloOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getSloOutput(args: GetSloOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getSlo:getSlo", { "name": args.name, diff --git a/sdk/nodejs/getSyntheticLocation.ts b/sdk/nodejs/getSyntheticLocation.ts index 8826de61..08d13409 100644 --- a/sdk/nodejs/getSyntheticLocation.ts +++ b/sdk/nodejs/getSyntheticLocation.ts @@ -59,7 +59,7 @@ export interface GetSyntheticLocationResult { /** * The synthetic location data source allows the location ID to be retrieved based off of provided parameters. */ -export function getSyntheticLocationOutput(args?: GetSyntheticLocationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getSyntheticLocationOutput(args?: GetSyntheticLocationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getSyntheticLocation:getSyntheticLocation", { diff --git a/sdk/nodejs/getSyntheticLocations.ts b/sdk/nodejs/getSyntheticLocations.ts index d812bafe..07243da2 100644 --- a/sdk/nodejs/getSyntheticLocations.ts +++ b/sdk/nodejs/getSyntheticLocations.ts @@ -135,7 +135,7 @@ export interface GetSyntheticLocationsResult { * }); * ``` */ -export function getSyntheticLocationsOutput(args?: GetSyntheticLocationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getSyntheticLocationsOutput(args?: GetSyntheticLocationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getSyntheticLocations:getSyntheticLocations", { diff --git a/sdk/nodejs/getSyntheticNodes.ts b/sdk/nodejs/getSyntheticNodes.ts index 9e07e71b..5128792a 100644 --- a/sdk/nodejs/getSyntheticNodes.ts +++ b/sdk/nodejs/getSyntheticNodes.ts @@ -28,7 +28,7 @@ export interface GetSyntheticNodesResult { /** * The synthetic locations data source queries for all available Synthetic Nodes. The data source doesn't need to get configured. It always provides the full list of synthetic nodes. */ -export function getSyntheticNodesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getSyntheticNodesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getSyntheticNodes:getSyntheticNodes", { }, opts); diff --git a/sdk/nodejs/getTenant.ts b/sdk/nodejs/getTenant.ts index ca6b10a2..6248c0eb 100644 --- a/sdk/nodejs/getTenant.ts +++ b/sdk/nodejs/getTenant.ts @@ -28,7 +28,7 @@ export interface GetTenantResult { * The data source `dynatrace.getTenant` evalutes the configured Environment URL (either the environment variable `DYNATRACE_ENV_URL` or the configuration attribute `dtEnvUrl`) and extracts out the name/id of the environment this provider addresses. * Main purpose is for migrating settings from one environment to another, but it can be used to in general to avoid hard coding the environment ID like in the example below. */ -export function getTenantOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getTenantOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getTenant:getTenant", { }, opts); diff --git a/sdk/nodejs/getUpdateWindows.ts b/sdk/nodejs/getUpdateWindows.ts index 38e2b5c4..be62c577 100644 --- a/sdk/nodejs/getUpdateWindows.ts +++ b/sdk/nodejs/getUpdateWindows.ts @@ -62,7 +62,7 @@ export interface GetUpdateWindowsResult { * export const id = example.then(example => example.id); * ``` */ -export function getUpdateWindowsOutput(args: GetUpdateWindowsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getUpdateWindowsOutput(args: GetUpdateWindowsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getUpdateWindows:getUpdateWindows", { "name": args.name, diff --git a/sdk/nodejs/getVulnerabilityAlerting.ts b/sdk/nodejs/getVulnerabilityAlerting.ts index d0c65149..3656bd19 100644 --- a/sdk/nodejs/getVulnerabilityAlerting.ts +++ b/sdk/nodejs/getVulnerabilityAlerting.ts @@ -66,7 +66,7 @@ export interface GetVulnerabilityAlertingResult { * export const id = example.then(example => example.id); * ``` */ -export function getVulnerabilityAlertingOutput(args: GetVulnerabilityAlertingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVulnerabilityAlertingOutput(args: GetVulnerabilityAlertingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting", { "name": args.name, diff --git a/sdk/nodejs/gitlabConnection.ts b/sdk/nodejs/gitlabConnection.ts new file mode 100644 index 00000000..3e4e5418 --- /dev/null +++ b/sdk/nodejs/gitlabConnection.ts @@ -0,0 +1,117 @@ +// *** 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 class GitlabConnection extends pulumi.CustomResource { + /** + * Get an existing GitlabConnection 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?: GitlabConnectionState, opts?: pulumi.CustomResourceOptions): GitlabConnection { + return new GitlabConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/gitlabConnection:GitlabConnection'; + + /** + * Returns true if the given object is an instance of GitlabConnection. 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 GitlabConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GitlabConnection.__pulumiType; + } + + /** + * A unique and clearly identifiable connection name to your GitLab instance. + */ + public readonly name!: pulumi.Output; + /** + * The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + */ + public readonly token!: pulumi.Output; + /** + * The GitLab URL instance you want to connect. For example, https://gitlab.com + */ + public readonly url!: pulumi.Output; + + /** + * Create a GitlabConnection 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: GitlabConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: GitlabConnectionArgs | GitlabConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as GitlabConnectionState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["token"] = state ? state.token : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as GitlabConnectionArgs | undefined; + if ((!args || args.token === undefined) && !opts.urn) { + throw new Error("Missing required property 'token'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["token"] = args?.token ? pulumi.secret(args.token) : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["token"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(GitlabConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering GitlabConnection resources. + */ +export interface GitlabConnectionState { + /** + * A unique and clearly identifiable connection name to your GitLab instance. + */ + name?: pulumi.Input; + /** + * The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + */ + token?: pulumi.Input; + /** + * The GitLab URL instance you want to connect. For example, https://gitlab.com + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a GitlabConnection resource. + */ +export interface GitlabConnectionArgs { + /** + * A unique and clearly identifiable connection name to your GitLab instance. + */ + name?: pulumi.Input; + /** + * The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + */ + token: pulumi.Input; + /** + * The GitLab URL instance you want to connect. For example, https://gitlab.com + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 02b05dd1..63ef2085 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -135,6 +135,11 @@ export type AutomationBusinessCalendar = import("./automationBusinessCalendar"). export const AutomationBusinessCalendar: typeof import("./automationBusinessCalendar").AutomationBusinessCalendar = null as any; utilities.lazyLoad(exports, ["AutomationBusinessCalendar"], () => require("./automationBusinessCalendar")); +export { AutomationControllerConnectionsArgs, AutomationControllerConnectionsState } from "./automationControllerConnections"; +export type AutomationControllerConnections = import("./automationControllerConnections").AutomationControllerConnections; +export const AutomationControllerConnections: typeof import("./automationControllerConnections").AutomationControllerConnections = null as any; +utilities.lazyLoad(exports, ["AutomationControllerConnections"], () => require("./automationControllerConnections")); + export { AutomationSchedulingRuleArgs, AutomationSchedulingRuleState } from "./automationSchedulingRule"; export type AutomationSchedulingRule = import("./automationSchedulingRule").AutomationSchedulingRule; export const AutomationSchedulingRule: typeof import("./automationSchedulingRule").AutomationSchedulingRule = null as any; @@ -435,6 +440,11 @@ export type DeclarativeGrouping = import("./declarativeGrouping").DeclarativeGro export const DeclarativeGrouping: typeof import("./declarativeGrouping").DeclarativeGrouping = null as any; utilities.lazyLoad(exports, ["DeclarativeGrouping"], () => require("./declarativeGrouping")); +export { DefaultLaunchpadArgs, DefaultLaunchpadState } from "./defaultLaunchpad"; +export type DefaultLaunchpad = import("./defaultLaunchpad").DefaultLaunchpad; +export const DefaultLaunchpad: typeof import("./defaultLaunchpad").DefaultLaunchpad = null as any; +utilities.lazyLoad(exports, ["DefaultLaunchpad"], () => require("./defaultLaunchpad")); + export { DevobsAgentOptinArgs, DevobsAgentOptinState } from "./devobsAgentOptin"; export type DevobsAgentOptin = import("./devobsAgentOptin").DevobsAgentOptin; export const DevobsAgentOptin: typeof import("./devobsAgentOptin").DevobsAgentOptin = null as any; @@ -525,6 +535,11 @@ export type EulaSettings = import("./eulaSettings").EulaSettings; export const EulaSettings: typeof import("./eulaSettings").EulaSettings = null as any; utilities.lazyLoad(exports, ["EulaSettings"], () => require("./eulaSettings")); +export { EventDrivenAnsibleConnectionsArgs, EventDrivenAnsibleConnectionsState } from "./eventDrivenAnsibleConnections"; +export type EventDrivenAnsibleConnections = import("./eventDrivenAnsibleConnections").EventDrivenAnsibleConnections; +export const EventDrivenAnsibleConnections: typeof import("./eventDrivenAnsibleConnections").EventDrivenAnsibleConnections = null as any; +utilities.lazyLoad(exports, ["EventDrivenAnsibleConnections"], () => require("./eventDrivenAnsibleConnections")); + export { ExtensionExecutionControllerArgs, ExtensionExecutionControllerState } from "./extensionExecutionController"; export type ExtensionExecutionController = import("./extensionExecutionController").ExtensionExecutionController; export const ExtensionExecutionController: typeof import("./extensionExecutionController").ExtensionExecutionController = null as any; @@ -675,6 +690,21 @@ export const getGenericSettings: typeof import("./getGenericSettings").getGeneri export const getGenericSettingsOutput: typeof import("./getGenericSettings").getGenericSettingsOutput = null as any; utilities.lazyLoad(exports, ["getGenericSettings","getGenericSettingsOutput"], () => require("./getGenericSettings")); +export { GetGeoCitiesArgs, GetGeoCitiesResult, GetGeoCitiesOutputArgs } from "./getGeoCities"; +export const getGeoCities: typeof import("./getGeoCities").getGeoCities = null as any; +export const getGeoCitiesOutput: typeof import("./getGeoCities").getGeoCitiesOutput = null as any; +utilities.lazyLoad(exports, ["getGeoCities","getGeoCitiesOutput"], () => require("./getGeoCities")); + +export { GetGeoCountriesResult } from "./getGeoCountries"; +export const getGeoCountries: typeof import("./getGeoCountries").getGeoCountries = null as any; +export const getGeoCountriesOutput: typeof import("./getGeoCountries").getGeoCountriesOutput = null as any; +utilities.lazyLoad(exports, ["getGeoCountries","getGeoCountriesOutput"], () => require("./getGeoCountries")); + +export { GetGeoRegionsArgs, GetGeoRegionsResult, GetGeoRegionsOutputArgs } from "./getGeoRegions"; +export const getGeoRegions: typeof import("./getGeoRegions").getGeoRegions = null as any; +export const getGeoRegionsOutput: typeof import("./getGeoRegions").getGeoRegionsOutput = null as any; +utilities.lazyLoad(exports, ["getGeoRegions","getGeoRegionsOutput"], () => require("./getGeoRegions")); + export { GetHostArgs, GetHostResult, GetHostOutputArgs } from "./getHost"; export const getHost: typeof import("./getHost").getHost = null as any; export const getHostOutput: typeof import("./getHost").getHostOutput = null as any; @@ -800,6 +830,11 @@ export const getVulnerabilityAlerting: typeof import("./getVulnerabilityAlerting export const getVulnerabilityAlertingOutput: typeof import("./getVulnerabilityAlerting").getVulnerabilityAlertingOutput = null as any; utilities.lazyLoad(exports, ["getVulnerabilityAlerting","getVulnerabilityAlertingOutput"], () => require("./getVulnerabilityAlerting")); +export { GitlabConnectionArgs, GitlabConnectionState } from "./gitlabConnection"; +export type GitlabConnection = import("./gitlabConnection").GitlabConnection; +export const GitlabConnection: typeof import("./gitlabConnection").GitlabConnection = null as any; +utilities.lazyLoad(exports, ["GitlabConnection"], () => require("./gitlabConnection")); + export { GoldenStateArgs, GoldenStateState } from "./goldenState"; export type GoldenState = import("./goldenState").GoldenState; export const GoldenState: typeof import("./goldenState").GoldenState = null as any; @@ -965,6 +1000,11 @@ export type IssueTracking = import("./issueTracking").IssueTracking; export const IssueTracking: typeof import("./issueTracking").IssueTracking = null as any; utilities.lazyLoad(exports, ["IssueTracking"], () => require("./issueTracking")); +export { JenkinsConnectionArgs, JenkinsConnectionState } from "./jenkinsConnection"; +export type JenkinsConnection = import("./jenkinsConnection").JenkinsConnection; +export const JenkinsConnection: typeof import("./jenkinsConnection").JenkinsConnection = null as any; +utilities.lazyLoad(exports, ["JenkinsConnection"], () => require("./jenkinsConnection")); + export { JiraNotificationArgs, JiraNotificationState } from "./jiraNotification"; export type JiraNotification = import("./jiraNotification").JiraNotification; export const JiraNotification: typeof import("./jiraNotification").JiraNotification = null as any; @@ -1290,6 +1330,16 @@ export type MonitoredTechnologiesWsmb = import("./monitoredTechnologiesWsmb").Mo export const MonitoredTechnologiesWsmb: typeof import("./monitoredTechnologiesWsmb").MonitoredTechnologiesWsmb = null as any; utilities.lazyLoad(exports, ["MonitoredTechnologiesWsmb"], () => require("./monitoredTechnologiesWsmb")); +export { MsentraidConnectionArgs, MsentraidConnectionState } from "./msentraidConnection"; +export type MsentraidConnection = import("./msentraidConnection").MsentraidConnection; +export const MsentraidConnection: typeof import("./msentraidConnection").MsentraidConnection = null as any; +utilities.lazyLoad(exports, ["MsentraidConnection"], () => require("./msentraidConnection")); + +export { MsteamsConnectionArgs, MsteamsConnectionState } from "./msteamsConnection"; +export type MsteamsConnection = import("./msteamsConnection").MsteamsConnection; +export const MsteamsConnection: typeof import("./msteamsConnection").MsteamsConnection = null as any; +utilities.lazyLoad(exports, ["MsteamsConnection"], () => require("./msteamsConnection")); + export { MutedRequestsArgs, MutedRequestsState } from "./mutedRequests"; export type MutedRequests = import("./mutedRequests").MutedRequests; export const MutedRequests: typeof import("./mutedRequests").MutedRequests = null as any; @@ -1410,6 +1460,11 @@ export type PagerDutyNotification = import("./pagerDutyNotification").PagerDutyN export const PagerDutyNotification: typeof import("./pagerDutyNotification").PagerDutyNotification = null as any; utilities.lazyLoad(exports, ["PagerDutyNotification"], () => require("./pagerDutyNotification")); +export { PagerdutyConnectionArgs, PagerdutyConnectionState } from "./pagerdutyConnection"; +export type PagerdutyConnection = import("./pagerdutyConnection").PagerdutyConnection; +export const PagerdutyConnection: typeof import("./pagerdutyConnection").PagerdutyConnection = null as any; +utilities.lazyLoad(exports, ["PagerdutyConnection"], () => require("./pagerdutyConnection")); + export { PgAlertingArgs, PgAlertingState } from "./pgAlerting"; export type PgAlerting = import("./pgAlerting").PgAlerting; export const PgAlerting: typeof import("./pgAlerting").PgAlerting = null as any; @@ -1435,6 +1490,11 @@ export type PolicyBindings = import("./policyBindings").PolicyBindings; export const PolicyBindings: typeof import("./policyBindings").PolicyBindings = null as any; utilities.lazyLoad(exports, ["PolicyBindings"], () => require("./policyBindings")); +export { ProblemFieldsArgs, ProblemFieldsState } from "./problemFields"; +export type ProblemFields = import("./problemFields").ProblemFields; +export const ProblemFields: typeof import("./problemFields").ProblemFields = null as any; +utilities.lazyLoad(exports, ["ProblemFields"], () => require("./problemFields")); + export { ProblemRecordPropagationRulesArgs, ProblemRecordPropagationRulesState } from "./problemRecordPropagationRules"; export type ProblemRecordPropagationRules = import("./problemRecordPropagationRules").ProblemRecordPropagationRules; export const ProblemRecordPropagationRules: typeof import("./problemRecordPropagationRules").ProblemRecordPropagationRules = null as any; @@ -1615,6 +1675,11 @@ export type ServiceNowNotification = import("./serviceNowNotification").ServiceN export const ServiceNowNotification: typeof import("./serviceNowNotification").ServiceNowNotification = null as any; utilities.lazyLoad(exports, ["ServiceNowNotification"], () => require("./serviceNowNotification")); +export { ServicenowConnectionArgs, ServicenowConnectionState } from "./servicenowConnection"; +export type ServicenowConnection = import("./servicenowConnection").ServicenowConnection; +export const ServicenowConnection: typeof import("./servicenowConnection").ServicenowConnection = null as any; +utilities.lazyLoad(exports, ["ServicenowConnection"], () => require("./servicenowConnection")); + export { SessionReplayResourceCaptureArgs, SessionReplayResourceCaptureState } from "./sessionReplayResourceCapture"; export type SessionReplayResourceCapture = import("./sessionReplayResourceCapture").SessionReplayResourceCapture; export const SessionReplayResourceCapture: typeof import("./sessionReplayResourceCapture").SessionReplayResourceCapture = null as any; @@ -1951,6 +2016,8 @@ const _module = { return new AuditLog(name, undefined, { urn }) case "dynatrace:index/automationBusinessCalendar:AutomationBusinessCalendar": return new AutomationBusinessCalendar(name, undefined, { urn }) + case "dynatrace:index/automationControllerConnections:AutomationControllerConnections": + return new AutomationControllerConnections(name, undefined, { urn }) case "dynatrace:index/automationSchedulingRule:AutomationSchedulingRule": return new AutomationSchedulingRule(name, undefined, { urn }) case "dynatrace:index/automationWorkflow:AutomationWorkflow": @@ -2071,6 +2138,8 @@ const _module = { return new DduPool(name, undefined, { urn }) case "dynatrace:index/declarativeGrouping:DeclarativeGrouping": return new DeclarativeGrouping(name, undefined, { urn }) + case "dynatrace:index/defaultLaunchpad:DefaultLaunchpad": + return new DefaultLaunchpad(name, undefined, { urn }) case "dynatrace:index/devobsAgentOptin:DevobsAgentOptin": return new DevobsAgentOptin(name, undefined, { urn }) case "dynatrace:index/devobsDataMasking:DevobsDataMasking": @@ -2107,6 +2176,8 @@ const _module = { return new Environment(name, undefined, { urn }) case "dynatrace:index/eulaSettings:EulaSettings": return new EulaSettings(name, undefined, { urn }) + case "dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections": + return new EventDrivenAnsibleConnections(name, undefined, { urn }) case "dynatrace:index/extensionExecutionController:ExtensionExecutionController": return new ExtensionExecutionController(name, undefined, { urn }) case "dynatrace:index/extensionExecutionRemote:ExtensionExecutionRemote": @@ -2125,6 +2196,8 @@ const _module = { return new GenericTypes(name, undefined, { urn }) case "dynatrace:index/geolocation:Geolocation": return new Geolocation(name, undefined, { urn }) + case "dynatrace:index/gitlabConnection:GitlabConnection": + return new GitlabConnection(name, undefined, { urn }) case "dynatrace:index/goldenState:GoldenState": return new GoldenState(name, undefined, { urn }) case "dynatrace:index/grailMetricsAllowall:GrailMetricsAllowall": @@ -2191,6 +2264,8 @@ const _module = { return new IpAddressMasking(name, undefined, { urn }) case "dynatrace:index/issueTracking:IssueTracking": return new IssueTracking(name, undefined, { urn }) + case "dynatrace:index/jenkinsConnection:JenkinsConnection": + return new JenkinsConnection(name, undefined, { urn }) case "dynatrace:index/jiraNotification:JiraNotification": return new JiraNotification(name, undefined, { urn }) case "dynatrace:index/jsonDashboard:JsonDashboard": @@ -2321,6 +2396,10 @@ const _module = { return new MonitoredTechnologiesVarnish(name, undefined, { urn }) case "dynatrace:index/monitoredTechnologiesWsmb:MonitoredTechnologiesWsmb": return new MonitoredTechnologiesWsmb(name, undefined, { urn }) + case "dynatrace:index/msentraidConnection:MsentraidConnection": + return new MsentraidConnection(name, undefined, { urn }) + case "dynatrace:index/msteamsConnection:MsteamsConnection": + return new MsteamsConnection(name, undefined, { urn }) case "dynatrace:index/mutedRequests:MutedRequests": return new MutedRequests(name, undefined, { urn }) case "dynatrace:index/nettracer:Nettracer": @@ -2369,6 +2448,8 @@ const _module = { return new OwnershipTeams(name, undefined, { urn }) case "dynatrace:index/pagerDutyNotification:PagerDutyNotification": return new PagerDutyNotification(name, undefined, { urn }) + case "dynatrace:index/pagerdutyConnection:PagerdutyConnection": + return new PagerdutyConnection(name, undefined, { urn }) case "dynatrace:index/pgAlerting:PgAlerting": return new PgAlerting(name, undefined, { urn }) case "dynatrace:index/pgAnomalies:PgAnomalies": @@ -2379,6 +2460,8 @@ const _module = { return new Policy(name, undefined, { urn }) case "dynatrace:index/policyBindings:PolicyBindings": return new PolicyBindings(name, undefined, { urn }) + case "dynatrace:index/problemFields:ProblemFields": + return new ProblemFields(name, undefined, { urn }) case "dynatrace:index/problemRecordPropagationRules:ProblemRecordPropagationRules": return new ProblemRecordPropagationRules(name, undefined, { urn }) case "dynatrace:index/processAvailability:ProcessAvailability": @@ -2449,6 +2532,8 @@ const _module = { return new ServiceNaming(name, undefined, { urn }) case "dynatrace:index/serviceNowNotification:ServiceNowNotification": return new ServiceNowNotification(name, undefined, { urn }) + case "dynatrace:index/servicenowConnection:ServicenowConnection": + return new ServicenowConnection(name, undefined, { urn }) case "dynatrace:index/sessionReplayResourceCapture:SessionReplayResourceCapture": return new SessionReplayResourceCapture(name, undefined, { urn }) case "dynatrace:index/sessionReplayWebPrivacy:SessionReplayWebPrivacy": @@ -2588,6 +2673,7 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/attributeMasking", _mo pulumi.runtime.registerResourceModule("dynatrace", "index/attributesPreferences", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/auditLog", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/automationBusinessCalendar", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/automationControllerConnections", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/automationSchedulingRule", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/automationWorkflow", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/automationWorkflowAwsConnections", _module) @@ -2648,6 +2734,7 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/davisCopilot", _module pulumi.runtime.registerResourceModule("dynatrace", "index/dbAppFeatureFlags", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/dduPool", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/declarativeGrouping", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/defaultLaunchpad", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/devobsAgentOptin", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/devobsDataMasking", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/devobsGitOnprem", _module) @@ -2666,6 +2753,7 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/ebpfServiceDiscovery", pulumi.runtime.registerResourceModule("dynatrace", "index/emailNotification", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/environment", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/eulaSettings", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/eventDrivenAnsibleConnections", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/extensionExecutionController", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/extensionExecutionRemote", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/failureDetectionParameters", _module) @@ -2675,6 +2763,7 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/genericRelationships", pulumi.runtime.registerResourceModule("dynatrace", "index/genericSetting", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/genericTypes", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/geolocation", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/gitlabConnection", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/goldenState", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/grailMetricsAllowall", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/grailMetricsAllowlist", _module) @@ -2708,6 +2797,7 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/infraopsAppFeatureFlag pulumi.runtime.registerResourceModule("dynatrace", "index/infraopsAppSettings", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/ipAddressMasking", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/issueTracking", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/jenkinsConnection", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/jiraNotification", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/jsonDashboard", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/jsonDashboardBase", _module) @@ -2773,6 +2863,8 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/monitoredTechnologiesO pulumi.runtime.registerResourceModule("dynatrace", "index/monitoredTechnologiesPhp", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/monitoredTechnologiesVarnish", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/monitoredTechnologiesWsmb", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/msentraidConnection", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/msteamsConnection", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/mutedRequests", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/nettracer", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/networkMonitor", _module) @@ -2797,11 +2889,13 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/osServices", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/ownershipConfig", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/ownershipTeams", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/pagerDutyNotification", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/pagerdutyConnection", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/pgAlerting", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/pgAnomalies", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/platformBucket", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/policy", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/policyBindings", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/problemFields", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/problemRecordPropagationRules", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/processAvailability", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/processGroupDetection", _module) @@ -2837,6 +2931,7 @@ pulumi.runtime.registerResourceModule("dynatrace", "index/serviceFullWebService" pulumi.runtime.registerResourceModule("dynatrace", "index/serviceHttpFailure", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/serviceNaming", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/serviceNowNotification", _module) +pulumi.runtime.registerResourceModule("dynatrace", "index/servicenowConnection", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/sessionReplayResourceCapture", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/sessionReplayWebPrivacy", _module) pulumi.runtime.registerResourceModule("dynatrace", "index/siteReliabilityGuardian", _module) diff --git a/sdk/nodejs/infraopsAppSettings.ts b/sdk/nodejs/infraopsAppSettings.ts index 40b8ae39..16b21b3d 100644 --- a/sdk/nodejs/infraopsAppSettings.ts +++ b/sdk/nodejs/infraopsAppSettings.ts @@ -32,6 +32,10 @@ export class InfraopsAppSettings extends pulumi.CustomResource { return obj['__pulumiType'] === InfraopsAppSettings.__pulumiType; } + /** + * (Required v305+) The threshold at which a network device interface is deemed to be saturated. + */ + public readonly interfaceSaturationThreshold!: pulumi.Output; /** * When set to true, the app will display monitoring candidates in the Hosts table */ @@ -54,6 +58,7 @@ export class InfraopsAppSettings extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as InfraopsAppSettingsState | undefined; + resourceInputs["interfaceSaturationThreshold"] = state ? state.interfaceSaturationThreshold : undefined; resourceInputs["showMonitoringCandidates"] = state ? state.showMonitoringCandidates : undefined; resourceInputs["showStandaloneHosts"] = state ? state.showStandaloneHosts : undefined; } else { @@ -64,6 +69,7 @@ export class InfraopsAppSettings extends pulumi.CustomResource { if ((!args || args.showStandaloneHosts === undefined) && !opts.urn) { throw new Error("Missing required property 'showStandaloneHosts'"); } + resourceInputs["interfaceSaturationThreshold"] = args ? args.interfaceSaturationThreshold : undefined; resourceInputs["showMonitoringCandidates"] = args ? args.showMonitoringCandidates : undefined; resourceInputs["showStandaloneHosts"] = args ? args.showStandaloneHosts : undefined; } @@ -76,6 +82,10 @@ export class InfraopsAppSettings extends pulumi.CustomResource { * Input properties used for looking up and filtering InfraopsAppSettings resources. */ export interface InfraopsAppSettingsState { + /** + * (Required v305+) The threshold at which a network device interface is deemed to be saturated. + */ + interfaceSaturationThreshold?: pulumi.Input; /** * When set to true, the app will display monitoring candidates in the Hosts table */ @@ -90,6 +100,10 @@ export interface InfraopsAppSettingsState { * The set of arguments for constructing a InfraopsAppSettings resource. */ export interface InfraopsAppSettingsArgs { + /** + * (Required v305+) The threshold at which a network device interface is deemed to be saturated. + */ + interfaceSaturationThreshold?: pulumi.Input; /** * When set to true, the app will display monitoring candidates in the Hosts table */ diff --git a/sdk/nodejs/jenkinsConnection.ts b/sdk/nodejs/jenkinsConnection.ts new file mode 100644 index 00000000..f4c2e8d6 --- /dev/null +++ b/sdk/nodejs/jenkinsConnection.ts @@ -0,0 +1,134 @@ +// *** 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 class JenkinsConnection extends pulumi.CustomResource { + /** + * Get an existing JenkinsConnection 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?: JenkinsConnectionState, opts?: pulumi.CustomResourceOptions): JenkinsConnection { + return new JenkinsConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/jenkinsConnection:JenkinsConnection'; + + /** + * Returns true if the given object is an instance of JenkinsConnection. 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 JenkinsConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === JenkinsConnection.__pulumiType; + } + + /** + * The name of the Jenkins connection + */ + public readonly name!: pulumi.Output; + /** + * The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + */ + public readonly password!: pulumi.Output; + /** + * Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + */ + public readonly url!: pulumi.Output; + /** + * The name of your Jenkins user (e.g. jenkins) + */ + public readonly username!: pulumi.Output; + + /** + * Create a JenkinsConnection 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: JenkinsConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: JenkinsConnectionArgs | JenkinsConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as JenkinsConnectionState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["url"] = state ? state.url : undefined; + resourceInputs["username"] = state ? state.username : undefined; + } else { + const args = argsOrState as JenkinsConnectionArgs | undefined; + if ((!args || args.password === undefined) && !opts.urn) { + throw new Error("Missing required property 'password'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + if ((!args || args.username === undefined) && !opts.urn) { + throw new Error("Missing required property 'username'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["username"] = args ? args.username : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(JenkinsConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering JenkinsConnection resources. + */ +export interface JenkinsConnectionState { + /** + * The name of the Jenkins connection + */ + name?: pulumi.Input; + /** + * The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + */ + password?: pulumi.Input; + /** + * Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + */ + url?: pulumi.Input; + /** + * The name of your Jenkins user (e.g. jenkins) + */ + username?: pulumi.Input; +} + +/** + * The set of arguments for constructing a JenkinsConnection resource. + */ +export interface JenkinsConnectionArgs { + /** + * The name of the Jenkins connection + */ + name?: pulumi.Input; + /** + * The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + */ + password: pulumi.Input; + /** + * Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + */ + url: pulumi.Input; + /** + * The name of your Jenkins user (e.g. jenkins) + */ + username: pulumi.Input; +} diff --git a/sdk/nodejs/logCustomAttribute.ts b/sdk/nodejs/logCustomAttribute.ts index 41692f8f..613987fa 100644 --- a/sdk/nodejs/logCustomAttribute.ts +++ b/sdk/nodejs/logCustomAttribute.ts @@ -33,7 +33,7 @@ export class LogCustomAttribute extends pulumi.CustomResource { } /** - * The attribute key is case insensitive in log data ingestion. + * The attribute key is case sensitive in log data ingestion. */ public readonly key!: pulumi.Output; /** @@ -77,7 +77,7 @@ export class LogCustomAttribute extends pulumi.CustomResource { */ export interface LogCustomAttributeState { /** - * The attribute key is case insensitive in log data ingestion. + * The attribute key is case sensitive in log data ingestion. */ key?: pulumi.Input; /** @@ -91,7 +91,7 @@ export interface LogCustomAttributeState { */ export interface LogCustomAttributeArgs { /** - * The attribute key is case insensitive in log data ingestion. + * The attribute key is case sensitive in log data ingestion. */ key: pulumi.Input; /** diff --git a/sdk/nodejs/msentraidConnection.ts b/sdk/nodejs/msentraidConnection.ts new file mode 100644 index 00000000..28525a3b --- /dev/null +++ b/sdk/nodejs/msentraidConnection.ts @@ -0,0 +1,148 @@ +// *** 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 class MsentraidConnection extends pulumi.CustomResource { + /** + * Get an existing MsentraidConnection 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?: MsentraidConnectionState, opts?: pulumi.CustomResourceOptions): MsentraidConnection { + return new MsentraidConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/msentraidConnection:MsentraidConnection'; + + /** + * Returns true if the given object is an instance of MsentraidConnection. 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 MsentraidConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MsentraidConnection.__pulumiType; + } + + /** + * Application (client) ID of your app registered in Microsoft Azure App registrations + */ + public readonly applicationId!: pulumi.Output; + /** + * Client secret of your app registered in Microsoft Azure App registrations + */ + public readonly clientSecret!: pulumi.Output; + /** + * Description + */ + public readonly description!: pulumi.Output; + /** + * Directory (tenant) ID of Microsoft Entra Identity Developer + */ + public readonly directoryId!: pulumi.Output; + /** + * The name of the Microsoft Entra Identity Developer connection + */ + public readonly name!: pulumi.Output; + + /** + * Create a MsentraidConnection 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: MsentraidConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MsentraidConnectionArgs | MsentraidConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MsentraidConnectionState | undefined; + resourceInputs["applicationId"] = state ? state.applicationId : undefined; + resourceInputs["clientSecret"] = state ? state.clientSecret : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["directoryId"] = state ? state.directoryId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as MsentraidConnectionArgs | undefined; + if ((!args || args.applicationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'applicationId'"); + } + if ((!args || args.clientSecret === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientSecret'"); + } + if ((!args || args.directoryId === undefined) && !opts.urn) { + throw new Error("Missing required property 'directoryId'"); + } + resourceInputs["applicationId"] = args?.applicationId ? pulumi.secret(args.applicationId) : undefined; + resourceInputs["clientSecret"] = args?.clientSecret ? pulumi.secret(args.clientSecret) : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["directoryId"] = args?.directoryId ? pulumi.secret(args.directoryId) : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["applicationId", "clientSecret", "directoryId"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(MsentraidConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MsentraidConnection resources. + */ +export interface MsentraidConnectionState { + /** + * Application (client) ID of your app registered in Microsoft Azure App registrations + */ + applicationId?: pulumi.Input; + /** + * Client secret of your app registered in Microsoft Azure App registrations + */ + clientSecret?: pulumi.Input; + /** + * Description + */ + description?: pulumi.Input; + /** + * Directory (tenant) ID of Microsoft Entra Identity Developer + */ + directoryId?: pulumi.Input; + /** + * The name of the Microsoft Entra Identity Developer connection + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MsentraidConnection resource. + */ +export interface MsentraidConnectionArgs { + /** + * Application (client) ID of your app registered in Microsoft Azure App registrations + */ + applicationId: pulumi.Input; + /** + * Client secret of your app registered in Microsoft Azure App registrations + */ + clientSecret: pulumi.Input; + /** + * Description + */ + description?: pulumi.Input; + /** + * Directory (tenant) ID of Microsoft Entra Identity Developer + */ + directoryId: pulumi.Input; + /** + * The name of the Microsoft Entra Identity Developer connection + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/msteamsConnection.ts b/sdk/nodejs/msteamsConnection.ts new file mode 100644 index 00000000..8bbd4a19 --- /dev/null +++ b/sdk/nodejs/msteamsConnection.ts @@ -0,0 +1,128 @@ +// *** 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 class MsteamsConnection extends pulumi.CustomResource { + /** + * Get an existing MsteamsConnection 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?: MsteamsConnectionState, opts?: pulumi.CustomResourceOptions): MsteamsConnection { + return new MsteamsConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/msteamsConnection:MsteamsConnection'; + + /** + * Returns true if the given object is an instance of MsteamsConnection. 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 MsteamsConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MsteamsConnection.__pulumiType; + } + + /** + * Optional + */ + public readonly channelName!: pulumi.Output; + /** + * The name of the Microsoft Teams connection + */ + public readonly name!: pulumi.Output; + /** + * Optional + */ + public readonly teamName!: pulumi.Output; + /** + * The Webhook URL that links to the channel + */ + public readonly webhook!: pulumi.Output; + + /** + * Create a MsteamsConnection 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: MsteamsConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MsteamsConnectionArgs | MsteamsConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MsteamsConnectionState | undefined; + resourceInputs["channelName"] = state ? state.channelName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["teamName"] = state ? state.teamName : undefined; + resourceInputs["webhook"] = state ? state.webhook : undefined; + } else { + const args = argsOrState as MsteamsConnectionArgs | undefined; + if ((!args || args.webhook === undefined) && !opts.urn) { + throw new Error("Missing required property 'webhook'"); + } + resourceInputs["channelName"] = args ? args.channelName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["teamName"] = args ? args.teamName : undefined; + resourceInputs["webhook"] = args?.webhook ? pulumi.secret(args.webhook) : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["webhook"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(MsteamsConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MsteamsConnection resources. + */ +export interface MsteamsConnectionState { + /** + * Optional + */ + channelName?: pulumi.Input; + /** + * The name of the Microsoft Teams connection + */ + name?: pulumi.Input; + /** + * Optional + */ + teamName?: pulumi.Input; + /** + * The Webhook URL that links to the channel + */ + webhook?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MsteamsConnection resource. + */ +export interface MsteamsConnectionArgs { + /** + * Optional + */ + channelName?: pulumi.Input; + /** + * The name of the Microsoft Teams connection + */ + name?: pulumi.Input; + /** + * Optional + */ + teamName?: pulumi.Input; + /** + * The Webhook URL that links to the channel + */ + webhook: pulumi.Input; +} diff --git a/sdk/nodejs/pagerdutyConnection.ts b/sdk/nodejs/pagerdutyConnection.ts new file mode 100644 index 00000000..91203b0b --- /dev/null +++ b/sdk/nodejs/pagerdutyConnection.ts @@ -0,0 +1,117 @@ +// *** 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 class PagerdutyConnection extends pulumi.CustomResource { + /** + * Get an existing PagerdutyConnection 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?: PagerdutyConnectionState, opts?: pulumi.CustomResourceOptions): PagerdutyConnection { + return new PagerdutyConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/pagerdutyConnection:PagerdutyConnection'; + + /** + * Returns true if the given object is an instance of PagerdutyConnection. 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 PagerdutyConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PagerdutyConnection.__pulumiType; + } + + /** + * The name of the PagerDuty connection + */ + public readonly name!: pulumi.Output; + /** + * Token for the PagerDuty API endpoint + */ + public readonly token!: pulumi.Output; + /** + * URL of the PagerDuty API endpoint + */ + public readonly url!: pulumi.Output; + + /** + * Create a PagerdutyConnection 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: PagerdutyConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: PagerdutyConnectionArgs | PagerdutyConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as PagerdutyConnectionState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["token"] = state ? state.token : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as PagerdutyConnectionArgs | undefined; + if ((!args || args.token === undefined) && !opts.urn) { + throw new Error("Missing required property 'token'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["token"] = args?.token ? pulumi.secret(args.token) : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["token"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(PagerdutyConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering PagerdutyConnection resources. + */ +export interface PagerdutyConnectionState { + /** + * The name of the PagerDuty connection + */ + name?: pulumi.Input; + /** + * Token for the PagerDuty API endpoint + */ + token?: pulumi.Input; + /** + * URL of the PagerDuty API endpoint + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a PagerdutyConnection resource. + */ +export interface PagerdutyConnectionArgs { + /** + * The name of the PagerDuty connection + */ + name?: pulumi.Input; + /** + * Token for the PagerDuty API endpoint + */ + token: pulumi.Input; + /** + * URL of the PagerDuty API endpoint + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/problemFields.ts b/sdk/nodejs/problemFields.ts new file mode 100644 index 00000000..14822a5a --- /dev/null +++ b/sdk/nodejs/problemFields.ts @@ -0,0 +1,118 @@ +// *** 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 class ProblemFields extends pulumi.CustomResource { + /** + * Get an existing ProblemFields 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?: ProblemFieldsState, opts?: pulumi.CustomResourceOptions): ProblemFields { + return new ProblemFields(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/problemFields:ProblemFields'; + + /** + * Returns true if the given object is an instance of ProblemFields. 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 ProblemFields { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ProblemFields.__pulumiType; + } + + /** + * This setting is enabled (`true`) or disabled (`false`) + */ + public readonly enabled!: pulumi.Output; + /** + * Field from the event that will be extracted. + */ + public readonly eventField!: pulumi.Output; + /** + * Field under which the extracted event data will be stored on the problem. + */ + public readonly problemField!: pulumi.Output; + + /** + * Create a ProblemFields 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: ProblemFieldsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ProblemFieldsArgs | ProblemFieldsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ProblemFieldsState | undefined; + resourceInputs["enabled"] = state ? state.enabled : undefined; + resourceInputs["eventField"] = state ? state.eventField : undefined; + resourceInputs["problemField"] = state ? state.problemField : undefined; + } else { + const args = argsOrState as ProblemFieldsArgs | undefined; + if ((!args || args.enabled === undefined) && !opts.urn) { + throw new Error("Missing required property 'enabled'"); + } + if ((!args || args.eventField === undefined) && !opts.urn) { + throw new Error("Missing required property 'eventField'"); + } + if ((!args || args.problemField === undefined) && !opts.urn) { + throw new Error("Missing required property 'problemField'"); + } + resourceInputs["enabled"] = args ? args.enabled : undefined; + resourceInputs["eventField"] = args ? args.eventField : undefined; + resourceInputs["problemField"] = args ? args.problemField : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ProblemFields.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ProblemFields resources. + */ +export interface ProblemFieldsState { + /** + * This setting is enabled (`true`) or disabled (`false`) + */ + enabled?: pulumi.Input; + /** + * Field from the event that will be extracted. + */ + eventField?: pulumi.Input; + /** + * Field under which the extracted event data will be stored on the problem. + */ + problemField?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ProblemFields resource. + */ +export interface ProblemFieldsArgs { + /** + * This setting is enabled (`true`) or disabled (`false`) + */ + enabled: pulumi.Input; + /** + * Field from the event that will be extracted. + */ + eventField: pulumi.Input; + /** + * Field under which the extracted event data will be stored on the problem. + */ + problemField: pulumi.Input; +} diff --git a/sdk/nodejs/processGroupDetectionFlags.ts b/sdk/nodejs/processGroupDetectionFlags.ts index 5b07158a..3edd0692 100644 --- a/sdk/nodejs/processGroupDetectionFlags.ts +++ b/sdk/nodejs/processGroupDetectionFlags.ts @@ -76,6 +76,10 @@ export class ProcessGroupDetectionFlags extends pulumi.CustomResource { * The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. */ public readonly scope!: pulumi.Output; + /** + * This flag enables the detection of security software such as anti-malware protection. + */ + public readonly securitySoftwareDetectionEnabled!: pulumi.Output; /** * Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. */ @@ -121,6 +125,7 @@ export class ProcessGroupDetectionFlags extends pulumi.CustomResource { resourceInputs["identifyJbossServerBySystemProperty"] = state ? state.identifyJbossServerBySystemProperty : undefined; resourceInputs["ignoreUniqueIdentifiers"] = state ? state.ignoreUniqueIdentifiers : undefined; resourceInputs["scope"] = state ? state.scope : undefined; + resourceInputs["securitySoftwareDetectionEnabled"] = state ? state.securitySoftwareDetectionEnabled : undefined; resourceInputs["shortLivedProcessesMonitoring"] = state ? state.shortLivedProcessesMonitoring : undefined; resourceInputs["splitOracleDatabasePg"] = state ? state.splitOracleDatabasePg : undefined; resourceInputs["splitOracleListenerPg"] = state ? state.splitOracleListenerPg : undefined; @@ -184,6 +189,7 @@ export class ProcessGroupDetectionFlags extends pulumi.CustomResource { resourceInputs["identifyJbossServerBySystemProperty"] = args ? args.identifyJbossServerBySystemProperty : undefined; resourceInputs["ignoreUniqueIdentifiers"] = args ? args.ignoreUniqueIdentifiers : undefined; resourceInputs["scope"] = args ? args.scope : undefined; + resourceInputs["securitySoftwareDetectionEnabled"] = args ? args.securitySoftwareDetectionEnabled : undefined; resourceInputs["shortLivedProcessesMonitoring"] = args ? args.shortLivedProcessesMonitoring : undefined; resourceInputs["splitOracleDatabasePg"] = args ? args.splitOracleDatabasePg : undefined; resourceInputs["splitOracleListenerPg"] = args ? args.splitOracleListenerPg : undefined; @@ -243,6 +249,10 @@ export interface ProcessGroupDetectionFlagsState { * The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. */ scope?: pulumi.Input; + /** + * This flag enables the detection of security software such as anti-malware protection. + */ + securitySoftwareDetectionEnabled?: pulumi.Input; /** * Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. */ @@ -313,6 +323,10 @@ export interface ProcessGroupDetectionFlagsArgs { * The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. */ scope?: pulumi.Input; + /** + * This flag enables the detection of security software such as anti-malware protection. + */ + securitySoftwareDetectionEnabled?: pulumi.Input; /** * Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. */ diff --git a/sdk/nodejs/servicenowConnection.ts b/sdk/nodejs/servicenowConnection.ts new file mode 100644 index 00000000..04885c2e --- /dev/null +++ b/sdk/nodejs/servicenowConnection.ts @@ -0,0 +1,145 @@ +// *** 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 class ServicenowConnection extends pulumi.CustomResource { + /** + * Get an existing ServicenowConnection 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?: ServicenowConnectionState, opts?: pulumi.CustomResourceOptions): ServicenowConnection { + return new ServicenowConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'dynatrace:index/servicenowConnection:ServicenowConnection'; + + /** + * Returns true if the given object is an instance of ServicenowConnection. 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 ServicenowConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ServicenowConnection.__pulumiType; + } + + /** + * A unique and clearly identifiable connection name to your ServiceNow instance. + */ + public readonly name!: pulumi.Output; + /** + * Password of the ServiceNow user. + */ + public readonly password!: pulumi.Output; + /** + * Possible Values: `basic` + */ + public readonly type!: pulumi.Output; + /** + * URL of the ServiceNow instance. + */ + public readonly url!: pulumi.Output; + /** + * Username or Email address. + */ + public readonly user!: pulumi.Output; + + /** + * Create a ServicenowConnection 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: ServicenowConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ServicenowConnectionArgs | ServicenowConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ServicenowConnectionState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["url"] = state ? state.url : undefined; + resourceInputs["user"] = state ? state.user : undefined; + } else { + const args = argsOrState as ServicenowConnectionArgs | undefined; + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["user"] = args ? args.user : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(ServicenowConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ServicenowConnection resources. + */ +export interface ServicenowConnectionState { + /** + * A unique and clearly identifiable connection name to your ServiceNow instance. + */ + name?: pulumi.Input; + /** + * Password of the ServiceNow user. + */ + password?: pulumi.Input; + /** + * Possible Values: `basic` + */ + type?: pulumi.Input; + /** + * URL of the ServiceNow instance. + */ + url?: pulumi.Input; + /** + * Username or Email address. + */ + user?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ServicenowConnection resource. + */ +export interface ServicenowConnectionArgs { + /** + * A unique and clearly identifiable connection name to your ServiceNow instance. + */ + name?: pulumi.Input; + /** + * Password of the ServiceNow user. + */ + password?: pulumi.Input; + /** + * Possible Values: `basic` + */ + type: pulumi.Input; + /** + * URL of the ServiceNow instance. + */ + url: pulumi.Input; + /** + * Username or Email address. + */ + user?: pulumi.Input; +} diff --git a/sdk/nodejs/syntheticLocation.ts b/sdk/nodejs/syntheticLocation.ts index 37ff3f47..d233dcfb 100644 --- a/sdk/nodejs/syntheticLocation.ts +++ b/sdk/nodejs/syntheticLocation.ts @@ -53,8 +53,8 @@ export class SyntheticLocation extends pulumi.CustomResource { */ public readonly city!: pulumi.Output; /** - * The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - * example, `AT` for Austria or `PL` for Poland) + * The country code of the location. To fetch the list of available country codes, use the [GET all + * countries](https://dt-url.net/37030go) request */ public readonly countryCode!: pulumi.Output; /** @@ -97,9 +97,8 @@ export class SyntheticLocation extends pulumi.CustomResource { */ public readonly nodes!: pulumi.Output; /** - * The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - * use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - * rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + * The region code of the location. To fetch the list of available region codes, use the [GET regions of the + * country](https://dt-url.net/az230x0) request */ public readonly regionCode!: pulumi.Output; @@ -187,8 +186,8 @@ export interface SyntheticLocationState { */ city?: pulumi.Input; /** - * The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - * example, `AT` for Austria or `PL` for Poland) + * The country code of the location. To fetch the list of available country codes, use the [GET all + * countries](https://dt-url.net/37030go) request */ countryCode?: pulumi.Input; /** @@ -231,9 +230,8 @@ export interface SyntheticLocationState { */ nodes?: pulumi.Input[]>; /** - * The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - * use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - * rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + * The region code of the location. To fetch the list of available region codes, use the [GET regions of the + * country](https://dt-url.net/az230x0) request */ regionCode?: pulumi.Input; } @@ -263,8 +261,8 @@ export interface SyntheticLocationArgs { */ city?: pulumi.Input; /** - * The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - * example, `AT` for Austria or `PL` for Poland) + * The country code of the location. To fetch the list of available country codes, use the [GET all + * countries](https://dt-url.net/37030go) request */ countryCode?: pulumi.Input; /** @@ -307,9 +305,8 @@ export interface SyntheticLocationArgs { */ nodes?: pulumi.Input[]>; /** - * The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - * use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - * rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + * The region code of the location. To fetch the list of available region codes, use the [GET regions of the + * country](https://dt-url.net/az230x0) request */ regionCode?: pulumi.Input; } diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 745955ef..0d06d551 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -39,6 +39,7 @@ "attributesPreferences.ts", "auditLog.ts", "automationBusinessCalendar.ts", + "automationControllerConnections.ts", "automationSchedulingRule.ts", "automationWorkflow.ts", "automationWorkflowAwsConnections.ts", @@ -101,6 +102,7 @@ "dbAppFeatureFlags.ts", "dduPool.ts", "declarativeGrouping.ts", + "defaultLaunchpad.ts", "devobsAgentOptin.ts", "devobsDataMasking.ts", "devobsGitOnprem.ts", @@ -119,6 +121,7 @@ "emailNotification.ts", "environment.ts", "eulaSettings.ts", + "eventDrivenAnsibleConnections.ts", "extensionExecutionController.ts", "extensionExecutionRemote.ts", "failureDetectionParameters.ts", @@ -149,6 +152,9 @@ "getFailureDetectionParameters.ts", "getGenericSetting.ts", "getGenericSettings.ts", + "getGeoCities.ts", + "getGeoCountries.ts", + "getGeoRegions.ts", "getHost.ts", "getHubItems.ts", "getIamGroup.ts", @@ -174,6 +180,7 @@ "getTenant.ts", "getUpdateWindows.ts", "getVulnerabilityAlerting.ts", + "gitlabConnection.ts", "goldenState.ts", "grailMetricsAllowall.ts", "grailMetricsAllowlist.ts", @@ -208,6 +215,7 @@ "infraopsAppSettings.ts", "ipAddressMasking.ts", "issueTracking.ts", + "jenkinsConnection.ts", "jiraNotification.ts", "jsonDashboard.ts", "jsonDashboardBase.ts", @@ -273,6 +281,8 @@ "monitoredTechnologiesPhp.ts", "monitoredTechnologiesVarnish.ts", "monitoredTechnologiesWsmb.ts", + "msentraidConnection.ts", + "msteamsConnection.ts", "mutedRequests.ts", "nettracer.ts", "networkMonitor.ts", @@ -297,11 +307,13 @@ "ownershipConfig.ts", "ownershipTeams.ts", "pagerDutyNotification.ts", + "pagerdutyConnection.ts", "pgAlerting.ts", "pgAnomalies.ts", "platformBucket.ts", "policy.ts", "policyBindings.ts", + "problemFields.ts", "problemRecordPropagationRules.ts", "processAvailability.ts", "processGroupDetection.ts", @@ -338,6 +350,7 @@ "serviceHttpFailure.ts", "serviceNaming.ts", "serviceNowNotification.ts", + "servicenowConnection.ts", "sessionReplayResourceCapture.ts", "sessionReplayWebPrivacy.ts", "siteReliabilityGuardian.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index dab78ae7..44413522 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -6707,6 +6707,10 @@ export interface CalculatedServiceMetricDimensionDefinitionPlaceholdersPlacehold * The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` */ normalization?: pulumi.Input; + /** + * The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + */ + oneagentAttributeKey?: pulumi.Input; /** * The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise */ @@ -9131,6 +9135,25 @@ export interface DeclarativeGroupingDetectionProcessDefinitionRulesRule { property: pulumi.Input; } +export interface DefaultLaunchpadGroupLaunchpads { + groupLaunchpads: pulumi.Input[]>; +} + +export interface DefaultLaunchpadGroupLaunchpadsGroupLaunchpad { + /** + * State + */ + isEnabled: pulumi.Input; + /** + * Launchpad + */ + launchpadId: pulumi.Input; + /** + * User Group + */ + userGroupId: pulumi.Input; +} + export interface DirectSharesRecipients { /** * Recipient of the direct share @@ -14373,8 +14396,10 @@ export interface KubernetesEnrichmentRules { export interface KubernetesEnrichmentRulesRule { /** * This setting is enabled (`true`) or disabled (`false`) + * + * @deprecated Attribute no longer exists in the schema. */ - enabled: pulumi.Input; + enabled?: pulumi.Input; /** * The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). */ @@ -25991,6 +26016,10 @@ export interface RequestNamingPlaceholdersPlaceholder { * The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` */ normalization?: pulumi.Input; + /** + * The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + */ + oneagentAttributeKey?: pulumi.Input; /** * The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index d93ddd76..74965a9d 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -6707,6 +6707,10 @@ export interface CalculatedServiceMetricDimensionDefinitionPlaceholdersPlacehold * The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` */ normalization?: string; + /** + * The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + */ + oneagentAttributeKey?: string; /** * The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise */ @@ -9131,6 +9135,25 @@ export interface DeclarativeGroupingDetectionProcessDefinitionRulesRule { property: string; } +export interface DefaultLaunchpadGroupLaunchpads { + groupLaunchpads: outputs.DefaultLaunchpadGroupLaunchpadsGroupLaunchpad[]; +} + +export interface DefaultLaunchpadGroupLaunchpadsGroupLaunchpad { + /** + * State + */ + isEnabled: boolean; + /** + * Launchpad + */ + launchpadId: string; + /** + * User Group + */ + userGroupId: string; +} + export interface DirectSharesRecipients { /** * Recipient of the direct share @@ -10185,6 +10208,22 @@ export interface GetGenericSettingsValue { value: string; } +export interface GetGeoCitiesCity { + latitude: number; + longitude: number; + name: string; +} + +export interface GetGeoCountriesCountry { + code: string; + name: string; +} + +export interface GetGeoRegionsRegion { + code: string; + name: string; +} + export interface GetHubItemsItem { /** * The activation link for a technology @@ -14665,8 +14704,10 @@ export interface KubernetesEnrichmentRules { export interface KubernetesEnrichmentRulesRule { /** * This setting is enabled (`true`) or disabled (`false`) + * + * @deprecated Attribute no longer exists in the schema. */ - enabled: boolean; + enabled?: boolean; /** * The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). */ @@ -26283,6 +26324,10 @@ export interface RequestNamingPlaceholdersPlaceholder { * The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` */ normalization?: string; + /** + * The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + */ + oneagentAttributeKey?: string; /** * The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise */ diff --git a/sdk/python/pulumiverse_dynatrace/__init__.py b/sdk/python/pulumiverse_dynatrace/__init__.py index 50171306..86c6b5a0 100644 --- a/sdk/python/pulumiverse_dynatrace/__init__.py +++ b/sdk/python/pulumiverse_dynatrace/__init__.py @@ -31,6 +31,7 @@ from .attributes_preferences import * from .audit_log import * from .automation_business_calendar import * +from .automation_controller_connections import * from .automation_scheduling_rule import * from .automation_workflow import * from .automation_workflow_aws_connections import * @@ -91,6 +92,7 @@ from .db_app_feature_flags import * from .ddu_pool import * from .declarative_grouping import * +from .default_launchpad import * from .devobs_agent_optin import * from .devobs_data_masking import * from .devobs_git_onprem import * @@ -109,6 +111,7 @@ from .email_notification import * from .environment import * from .eula_settings import * +from .event_driven_ansible_connections import * from .extension_execution_controller import * from .extension_execution_remote import * from .failure_detection_parameters import * @@ -139,6 +142,9 @@ from .get_failure_detection_parameters import * from .get_generic_setting import * from .get_generic_settings import * +from .get_geo_cities import * +from .get_geo_countries import * +from .get_geo_regions import * from .get_host import * from .get_hub_items import * from .get_iam_group import * @@ -164,6 +170,7 @@ from .get_tenant import * from .get_update_windows import * from .get_vulnerability_alerting import * +from .gitlab_connection import * from .golden_state import * from .grail_metrics_allowall import * from .grail_metrics_allowlist import * @@ -197,6 +204,7 @@ from .infraops_app_settings import * from .ip_address_masking import * from .issue_tracking import * +from .jenkins_connection import * from .jira_notification import * from .json_dashboard import * from .json_dashboard_base import * @@ -262,6 +270,8 @@ from .monitored_technologies_php import * from .monitored_technologies_varnish import * from .monitored_technologies_wsmb import * +from .msentraid_connection import * +from .msteams_connection import * from .muted_requests import * from .nettracer import * from .network_monitor import * @@ -286,11 +296,13 @@ from .ownership_config import * from .ownership_teams import * from .pager_duty_notification import * +from .pagerduty_connection import * from .pg_alerting import * from .pg_anomalies import * from .platform_bucket import * from .policy import * from .policy_bindings import * +from .problem_fields import * from .problem_record_propagation_rules import * from .process_availability import * from .process_group_detection import * @@ -327,6 +339,7 @@ from .service_http_failure import * from .service_naming import * from .service_now_notification import * +from .servicenow_connection import * from .session_replay_resource_capture import * from .session_replay_web_privacy import * from .site_reliability_guardian import * @@ -602,6 +615,14 @@ "dynatrace:index/automationBusinessCalendar:AutomationBusinessCalendar": "AutomationBusinessCalendar" } }, + { + "pkg": "dynatrace", + "mod": "index/automationControllerConnections", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/automationControllerConnections:AutomationControllerConnections": "AutomationControllerConnections" + } + }, { "pkg": "dynatrace", "mod": "index/automationSchedulingRule", @@ -1082,6 +1103,14 @@ "dynatrace:index/declarativeGrouping:DeclarativeGrouping": "DeclarativeGrouping" } }, + { + "pkg": "dynatrace", + "mod": "index/defaultLaunchpad", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/defaultLaunchpad:DefaultLaunchpad": "DefaultLaunchpad" + } + }, { "pkg": "dynatrace", "mod": "index/devobsAgentOptin", @@ -1226,6 +1255,14 @@ "dynatrace:index/eulaSettings:EulaSettings": "EulaSettings" } }, + { + "pkg": "dynatrace", + "mod": "index/eventDrivenAnsibleConnections", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections": "EventDrivenAnsibleConnections" + } + }, { "pkg": "dynatrace", "mod": "index/extensionExecutionController", @@ -1298,6 +1335,14 @@ "dynatrace:index/geolocation:Geolocation": "Geolocation" } }, + { + "pkg": "dynatrace", + "mod": "index/gitlabConnection", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/gitlabConnection:GitlabConnection": "GitlabConnection" + } + }, { "pkg": "dynatrace", "mod": "index/goldenState", @@ -1562,6 +1607,14 @@ "dynatrace:index/issueTracking:IssueTracking": "IssueTracking" } }, + { + "pkg": "dynatrace", + "mod": "index/jenkinsConnection", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/jenkinsConnection:JenkinsConnection": "JenkinsConnection" + } + }, { "pkg": "dynatrace", "mod": "index/jiraNotification", @@ -2082,6 +2135,22 @@ "dynatrace:index/monitoredTechnologiesWsmb:MonitoredTechnologiesWsmb": "MonitoredTechnologiesWsmb" } }, + { + "pkg": "dynatrace", + "mod": "index/msentraidConnection", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/msentraidConnection:MsentraidConnection": "MsentraidConnection" + } + }, + { + "pkg": "dynatrace", + "mod": "index/msteamsConnection", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/msteamsConnection:MsteamsConnection": "MsteamsConnection" + } + }, { "pkg": "dynatrace", "mod": "index/mutedRequests", @@ -2274,6 +2343,14 @@ "dynatrace:index/pagerDutyNotification:PagerDutyNotification": "PagerDutyNotification" } }, + { + "pkg": "dynatrace", + "mod": "index/pagerdutyConnection", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/pagerdutyConnection:PagerdutyConnection": "PagerdutyConnection" + } + }, { "pkg": "dynatrace", "mod": "index/pgAlerting", @@ -2314,6 +2391,14 @@ "dynatrace:index/policyBindings:PolicyBindings": "PolicyBindings" } }, + { + "pkg": "dynatrace", + "mod": "index/problemFields", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/problemFields:ProblemFields": "ProblemFields" + } + }, { "pkg": "dynatrace", "mod": "index/problemRecordPropagationRules", @@ -2594,6 +2679,14 @@ "dynatrace:index/serviceNowNotification:ServiceNowNotification": "ServiceNowNotification" } }, + { + "pkg": "dynatrace", + "mod": "index/servicenowConnection", + "fqn": "pulumiverse_dynatrace", + "classes": { + "dynatrace:index/servicenowConnection:ServicenowConnection": "ServicenowConnection" + } + }, { "pkg": "dynatrace", "mod": "index/sessionReplayResourceCapture", diff --git a/sdk/python/pulumiverse_dynatrace/_inputs.py b/sdk/python/pulumiverse_dynatrace/_inputs.py index 98d9f3e5..85ac0844 100644 --- a/sdk/python/pulumiverse_dynatrace/_inputs.py +++ b/sdk/python/pulumiverse_dynatrace/_inputs.py @@ -1075,6 +1075,10 @@ 'DeclarativeGroupingDetectionProcessDefinitionRulesArgsDict', 'DeclarativeGroupingDetectionProcessDefinitionRulesRuleArgs', 'DeclarativeGroupingDetectionProcessDefinitionRulesRuleArgsDict', + 'DefaultLaunchpadGroupLaunchpadsArgs', + 'DefaultLaunchpadGroupLaunchpadsArgsDict', + 'DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs', + 'DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgsDict', 'DirectSharesRecipientsArgs', 'DirectSharesRecipientsArgsDict', 'DirectSharesRecipientsRecipientArgs', @@ -34520,6 +34524,10 @@ class CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderArgsDict( """ The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` """ + oneagent_attribute_key: NotRequired[pulumi.Input[str]] + """ + The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + """ request_attribute: NotRequired[pulumi.Input[str]] """ The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise @@ -34549,6 +34557,7 @@ def __init__(__self__, *, delimiter_or_regex: Optional[pulumi.Input[str]] = None, end_delimiter: Optional[pulumi.Input[str]] = None, normalization: Optional[pulumi.Input[str]] = None, + oneagent_attribute_key: Optional[pulumi.Input[str]] = None, request_attribute: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input['CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderSourceArgs']] = None, unknowns: Optional[pulumi.Input[str]] = None, @@ -34570,6 +34579,7 @@ def __init__(__self__, *, * All other values: The delimiter string to look for :param pulumi.Input[str] end_delimiter: The closing delimiter string to look for. Required if the `kind` value is `BETWEEN_DELIMITER`. Not applicable otherwise :param pulumi.Input[str] normalization: The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` + :param pulumi.Input[str] oneagent_attribute_key: The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. :param pulumi.Input[str] request_attribute: The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise :param pulumi.Input['CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderSourceArgs'] source: Defines valid sources of request attributes for conditions or placeholders :param pulumi.Input[str] unknowns: allows for configuring properties that are not explicitly supported by the current version of this provider @@ -34586,6 +34596,8 @@ def __init__(__self__, *, pulumi.set(__self__, "end_delimiter", end_delimiter) if normalization is not None: pulumi.set(__self__, "normalization", normalization) + if oneagent_attribute_key is not None: + pulumi.set(__self__, "oneagent_attribute_key", oneagent_attribute_key) if request_attribute is not None: pulumi.set(__self__, "request_attribute", request_attribute) if source is not None: @@ -34688,6 +34700,18 @@ def normalization(self) -> Optional[pulumi.Input[str]]: def normalization(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "normalization", value) + @property + @pulumi.getter(name="oneagentAttributeKey") + def oneagent_attribute_key(self) -> Optional[pulumi.Input[str]]: + """ + The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + """ + return pulumi.get(self, "oneagent_attribute_key") + + @oneagent_attribute_key.setter + def oneagent_attribute_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "oneagent_attribute_key", value) + @property @pulumi.getter(name="requestAttribute") def request_attribute(self) -> Optional[pulumi.Input[str]]: @@ -46133,6 +46157,97 @@ def property(self, value: pulumi.Input[str]): pulumi.set(self, "property", value) +if not MYPY: + class DefaultLaunchpadGroupLaunchpadsArgsDict(TypedDict): + group_launchpads: pulumi.Input[Sequence[pulumi.Input['DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgsDict']]] +elif False: + DefaultLaunchpadGroupLaunchpadsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DefaultLaunchpadGroupLaunchpadsArgs: + def __init__(__self__, *, + group_launchpads: pulumi.Input[Sequence[pulumi.Input['DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs']]]): + pulumi.set(__self__, "group_launchpads", group_launchpads) + + @property + @pulumi.getter(name="groupLaunchpads") + def group_launchpads(self) -> pulumi.Input[Sequence[pulumi.Input['DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs']]]: + return pulumi.get(self, "group_launchpads") + + @group_launchpads.setter + def group_launchpads(self, value: pulumi.Input[Sequence[pulumi.Input['DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs']]]): + pulumi.set(self, "group_launchpads", value) + + +if not MYPY: + class DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgsDict(TypedDict): + is_enabled: pulumi.Input[bool] + """ + State + """ + launchpad_id: pulumi.Input[str] + """ + Launchpad + """ + user_group_id: pulumi.Input[str] + """ + User Group + """ +elif False: + DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DefaultLaunchpadGroupLaunchpadsGroupLaunchpadArgs: + def __init__(__self__, *, + is_enabled: pulumi.Input[bool], + launchpad_id: pulumi.Input[str], + user_group_id: pulumi.Input[str]): + """ + :param pulumi.Input[bool] is_enabled: State + :param pulumi.Input[str] launchpad_id: Launchpad + :param pulumi.Input[str] user_group_id: User Group + """ + pulumi.set(__self__, "is_enabled", is_enabled) + pulumi.set(__self__, "launchpad_id", launchpad_id) + pulumi.set(__self__, "user_group_id", user_group_id) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> pulumi.Input[bool]: + """ + State + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter(name="launchpadId") + def launchpad_id(self) -> pulumi.Input[str]: + """ + Launchpad + """ + return pulumi.get(self, "launchpad_id") + + @launchpad_id.setter + def launchpad_id(self, value: pulumi.Input[str]): + pulumi.set(self, "launchpad_id", value) + + @property + @pulumi.getter(name="userGroupId") + def user_group_id(self) -> pulumi.Input[str]: + """ + User Group + """ + return pulumi.get(self, "user_group_id") + + @user_group_id.setter + def user_group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_group_id", value) + + if not MYPY: class DirectSharesRecipientsArgsDict(TypedDict): recipients: NotRequired[pulumi.Input[Sequence[pulumi.Input['DirectSharesRecipientsRecipientArgsDict']]]] @@ -69889,10 +70004,6 @@ def rules(self, value: pulumi.Input[Sequence[pulumi.Input['KubernetesEnrichmentR if not MYPY: class KubernetesEnrichmentRulesRuleArgsDict(TypedDict): - enabled: pulumi.Input[bool] - """ - This setting is enabled (`true`) or disabled (`false`) - """ source: pulumi.Input[str] """ The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). @@ -69905,38 +70016,34 @@ class KubernetesEnrichmentRulesRuleArgsDict(TypedDict): """ Possible Values: `ANNOTATION`, `LABEL` """ + enabled: NotRequired[pulumi.Input[bool]] + """ + This setting is enabled (`true`) or disabled (`false`) + """ elif False: KubernetesEnrichmentRulesRuleArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class KubernetesEnrichmentRulesRuleArgs: def __init__(__self__, *, - enabled: pulumi.Input[bool], source: pulumi.Input[str], target: pulumi.Input[str], - type: pulumi.Input[str]): + type: pulumi.Input[str], + enabled: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[bool] enabled: This setting is enabled (`true`) or disabled (`false`) :param pulumi.Input[str] source: The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). :param pulumi.Input[str] target: Possible Values: `Dt_cost_costcenter`, `Dt_cost_product`, `Dt_security_context` :param pulumi.Input[str] type: Possible Values: `ANNOTATION`, `LABEL` + :param pulumi.Input[bool] enabled: This setting is enabled (`true`) or disabled (`false`) """ - pulumi.set(__self__, "enabled", enabled) pulumi.set(__self__, "source", source) pulumi.set(__self__, "target", target) pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def enabled(self) -> pulumi.Input[bool]: - """ - This setting is enabled (`true`) or disabled (`false`) - """ - return pulumi.get(self, "enabled") - - @enabled.setter - def enabled(self, value: pulumi.Input[bool]): - pulumi.set(self, "enabled", value) + if enabled is not None: + warnings.warn("""Attribute no longer exists in the schema.""", DeprecationWarning) + pulumi.log.warn("""enabled is deprecated: Attribute no longer exists in the schema.""") + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property @pulumi.getter @@ -69974,6 +70081,19 @@ def type(self) -> pulumi.Input[str]: def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) + @property + @pulumi.getter + @_utilities.deprecated("""Attribute no longer exists in the schema.""") + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + This setting is enabled (`true`) or disabled (`false`) + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + if not MYPY: class KubernetesEventPatternsArgsDict(TypedDict): @@ -123653,6 +123773,10 @@ class RequestNamingPlaceholdersPlaceholderArgsDict(TypedDict): """ The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` """ + oneagent_attribute_key: NotRequired[pulumi.Input[str]] + """ + The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + """ request_attribute: NotRequired[pulumi.Input[str]] """ The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise @@ -123682,6 +123806,7 @@ def __init__(__self__, *, delimiter_or_regex: Optional[pulumi.Input[str]] = None, end_delimiter: Optional[pulumi.Input[str]] = None, normalization: Optional[pulumi.Input[str]] = None, + oneagent_attribute_key: Optional[pulumi.Input[str]] = None, request_attribute: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input['RequestNamingPlaceholdersPlaceholderSourceArgs']] = None, unknowns: Optional[pulumi.Input[str]] = None, @@ -123703,6 +123828,7 @@ def __init__(__self__, *, * All other values: The delimiter string to look for :param pulumi.Input[str] end_delimiter: The closing delimiter string to look for. Required if the `kind` value is `BETWEEN_DELIMITER`. Not applicable otherwise :param pulumi.Input[str] normalization: The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` + :param pulumi.Input[str] oneagent_attribute_key: The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. :param pulumi.Input[str] request_attribute: The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise :param pulumi.Input['RequestNamingPlaceholdersPlaceholderSourceArgs'] source: Defines valid sources of request attributes for conditions or placeholders :param pulumi.Input[str] unknowns: allows for configuring properties that are not explicitly supported by the current version of this provider @@ -123719,6 +123845,8 @@ def __init__(__self__, *, pulumi.set(__self__, "end_delimiter", end_delimiter) if normalization is not None: pulumi.set(__self__, "normalization", normalization) + if oneagent_attribute_key is not None: + pulumi.set(__self__, "oneagent_attribute_key", oneagent_attribute_key) if request_attribute is not None: pulumi.set(__self__, "request_attribute", request_attribute) if source is not None: @@ -123821,6 +123949,18 @@ def normalization(self) -> Optional[pulumi.Input[str]]: def normalization(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "normalization", value) + @property + @pulumi.getter(name="oneagentAttributeKey") + def oneagent_attribute_key(self) -> Optional[pulumi.Input[str]]: + """ + The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + """ + return pulumi.get(self, "oneagent_attribute_key") + + @oneagent_attribute_key.setter + def oneagent_attribute_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "oneagent_attribute_key", value) + @property @pulumi.getter(name="requestAttribute") def request_attribute(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumiverse_dynatrace/automation_controller_connections.py b/sdk/python/pulumiverse_dynatrace/automation_controller_connections.py new file mode 100644 index 00000000..3d87d8bf --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/automation_controller_connections.py @@ -0,0 +1,293 @@ +# 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__ = ['AutomationControllerConnectionsArgs', 'AutomationControllerConnections'] + +@pulumi.input_type +class AutomationControllerConnectionsArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + url: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AutomationControllerConnections resource. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + :param pulumi.Input[str] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "url", url) + if name is not None: + pulumi.set(__self__, "name", name) + if token is not None: + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Possible Values: `Api_token` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class _AutomationControllerConnectionsState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AutomationControllerConnections resources. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + """ + if name is not None: + pulumi.set(__self__, "name", name) + if token is not None: + pulumi.set(__self__, "token", token) + if type is not None: + pulumi.set(__self__, "type", type) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Possible Values: `Api_token` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class AutomationControllerConnections(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AutomationControllerConnections resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AutomationControllerConnectionsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AutomationControllerConnections resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AutomationControllerConnectionsArgs 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(AutomationControllerConnectionsArgs, 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, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: 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__ = AutomationControllerConnectionsArgs.__new__(AutomationControllerConnectionsArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["token"] = None if token is None else pulumi.Output.secret(token) + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(AutomationControllerConnections, __self__).__init__( + 'dynatrace:index/automationControllerConnections:AutomationControllerConnections', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'AutomationControllerConnections': + """ + Get an existing AutomationControllerConnections 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] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AutomationControllerConnectionsState.__new__(_AutomationControllerConnectionsState) + + __props__.__dict__["name"] = name + __props__.__dict__["token"] = token + __props__.__dict__["type"] = type + __props__.__dict__["url"] = url + return AutomationControllerConnections(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A unique and clearly identifiable connection name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[Optional[str]]: + """ + API access token for the Ansible Automation Controller. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Possible Values: `Api_token` + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + URL of the Ansible Automation Controller API endpoint. For example, https://ansible.yourdomain.com/api/v2/ + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumiverse_dynatrace/azure_credentials.py b/sdk/python/pulumiverse_dynatrace/azure_credentials.py index 3671fb16..138f61ac 100644 --- a/sdk/python/pulumiverse_dynatrace/azure_credentials.py +++ b/sdk/python/pulumiverse_dynatrace/azure_credentials.py @@ -22,12 +22,12 @@ class AzureCredentialsArgs: def __init__(__self__, *, active: pulumi.Input[bool], + label: pulumi.Input[str], monitor_only_tagged_entities: pulumi.Input[bool], app_id: Optional[pulumi.Input[str]] = None, auto_tagging: Optional[pulumi.Input[bool]] = None, directory_id: Optional[pulumi.Input[str]] = None, key: Optional[pulumi.Input[str]] = None, - label: Optional[pulumi.Input[str]] = None, monitor_only_excluding_tag_pairs: Optional[pulumi.Input[Sequence[pulumi.Input['AzureCredentialsMonitorOnlyExcludingTagPairArgs']]]] = None, monitor_only_tag_pairs: Optional[pulumi.Input[Sequence[pulumi.Input['AzureCredentialsMonitorOnlyTagPairArgs']]]] = None, remove_defaults: Optional[pulumi.Input[bool]] = None, @@ -37,12 +37,12 @@ def __init__(__self__, *, """ The set of arguments for constructing a AzureCredentials resource. :param pulumi.Input[bool] active: The monitoring is enabled (`true`) or disabled (`false`). If not set on creation, the `true` value is used. If the field is omitted during an update, the old value remains unaffected + :param pulumi.Input[str] label: The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed :param pulumi.Input[bool] monitor_only_tagged_entities: Monitor only resources that have specified Azure tags (`true`) or all resources (`false`). :param pulumi.Input[str] app_id: The Application ID (also referred to as Client ID) The combination of Application ID and Directory ID must be unique :param pulumi.Input[bool] auto_tagging: The automatic capture of Azure tags is on (`true`) or off (`false`) :param pulumi.Input[str] directory_id: The Directory ID (also referred to as Tenant ID) The combination of Application ID and Directory ID must be unique :param pulumi.Input[str] key: The secret key associated with the Application ID. For security reasons, GET requests return this field as `null`. Submit your key on creation or update of the configuration. If the field is omitted during an update, the old value remains unaffected. - :param pulumi.Input[str] label: The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed :param pulumi.Input[Sequence[pulumi.Input['AzureCredentialsMonitorOnlyExcludingTagPairArgs']]] monitor_only_excluding_tag_pairs: A list of Azure tags to be excluded from monitoring. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true`. :param pulumi.Input[Sequence[pulumi.Input['AzureCredentialsMonitorOnlyTagPairArgs']]] monitor_only_tag_pairs: A list of Azure tags to be monitored. You can specify up to 20 tags. A resource tagged with *any* of the specified tags is monitored. Only applicable when the **monitorOnlyTaggedEntities** parameter is set to `true` :param pulumi.Input[bool] remove_defaults: Instructs the provider to remove the supporting services Dynatrace applies by default to newly created Azure Credentials. Supporting Services applied by via `AzureService` subsequently won't get touched. @@ -50,6 +50,7 @@ def __init__(__self__, *, :param pulumi.Input[str] unknowns: Any attributes that aren't yet supported by this provider """ pulumi.set(__self__, "active", active) + pulumi.set(__self__, "label", label) pulumi.set(__self__, "monitor_only_tagged_entities", monitor_only_tagged_entities) if app_id is not None: pulumi.set(__self__, "app_id", app_id) @@ -59,8 +60,6 @@ def __init__(__self__, *, pulumi.set(__self__, "directory_id", directory_id) if key is not None: pulumi.set(__self__, "key", key) - if label is not None: - pulumi.set(__self__, "label", label) if monitor_only_excluding_tag_pairs is not None: pulumi.set(__self__, "monitor_only_excluding_tag_pairs", monitor_only_excluding_tag_pairs) if monitor_only_tag_pairs is not None: @@ -92,6 +91,18 @@ def active(self) -> pulumi.Input[bool]: def active(self, value: pulumi.Input[bool]): pulumi.set(self, "active", value) + @property + @pulumi.getter + def label(self) -> pulumi.Input[str]: + """ + The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed + """ + return pulumi.get(self, "label") + + @label.setter + def label(self, value: pulumi.Input[str]): + pulumi.set(self, "label", value) + @property @pulumi.getter(name="monitorOnlyTaggedEntities") def monitor_only_tagged_entities(self) -> pulumi.Input[bool]: @@ -152,18 +163,6 @@ def key(self) -> Optional[pulumi.Input[str]]: def key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "key", value) - @property - @pulumi.getter - def label(self) -> Optional[pulumi.Input[str]]: - """ - The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed - """ - return pulumi.get(self, "label") - - @label.setter - def label(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "label", value) - @property @pulumi.getter(name="monitorOnlyExcludingTagPairs") def monitor_only_excluding_tag_pairs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AzureCredentialsMonitorOnlyExcludingTagPairArgs']]]]: @@ -544,6 +543,8 @@ def _internal_init(__self__, __props__.__dict__["auto_tagging"] = auto_tagging __props__.__dict__["directory_id"] = directory_id __props__.__dict__["key"] = None if key is None else pulumi.Output.secret(key) + if label is None and not opts.urn: + raise TypeError("Missing required property 'label'") __props__.__dict__["label"] = label __props__.__dict__["monitor_only_excluding_tag_pairs"] = monitor_only_excluding_tag_pairs __props__.__dict__["monitor_only_tag_pairs"] = monitor_only_tag_pairs @@ -660,7 +661,7 @@ def key(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def label(self) -> pulumi.Output[Optional[str]]: + def label(self) -> pulumi.Output[str]: """ The unique name of the Azure credentials configuration. Allowed characters are letters, numbers, and spaces. Also the special characters `.+-_` are allowed """ diff --git a/sdk/python/pulumiverse_dynatrace/default_launchpad.py b/sdk/python/pulumiverse_dynatrace/default_launchpad.py new file mode 100644 index 00000000..9b52aac3 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/default_launchpad.py @@ -0,0 +1,150 @@ +# 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__ = ['DefaultLaunchpadArgs', 'DefaultLaunchpad'] + +@pulumi.input_type +class DefaultLaunchpadArgs: + def __init__(__self__, *, + group_launchpads: Optional[pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs']] = None): + """ + The set of arguments for constructing a DefaultLaunchpad resource. + :param pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs'] group_launchpads: Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + if group_launchpads is not None: + pulumi.set(__self__, "group_launchpads", group_launchpads) + + @property + @pulumi.getter(name="groupLaunchpads") + def group_launchpads(self) -> Optional[pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs']]: + """ + Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + return pulumi.get(self, "group_launchpads") + + @group_launchpads.setter + def group_launchpads(self, value: Optional[pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs']]): + pulumi.set(self, "group_launchpads", value) + + +@pulumi.input_type +class _DefaultLaunchpadState: + def __init__(__self__, *, + group_launchpads: Optional[pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs']] = None): + """ + Input properties used for looking up and filtering DefaultLaunchpad resources. + :param pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs'] group_launchpads: Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + if group_launchpads is not None: + pulumi.set(__self__, "group_launchpads", group_launchpads) + + @property + @pulumi.getter(name="groupLaunchpads") + def group_launchpads(self) -> Optional[pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs']]: + """ + Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + return pulumi.get(self, "group_launchpads") + + @group_launchpads.setter + def group_launchpads(self, value: Optional[pulumi.Input['DefaultLaunchpadGroupLaunchpadsArgs']]): + pulumi.set(self, "group_launchpads", value) + + +class DefaultLaunchpad(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + group_launchpads: Optional[pulumi.Input[Union['DefaultLaunchpadGroupLaunchpadsArgs', 'DefaultLaunchpadGroupLaunchpadsArgsDict']]] = None, + __props__=None): + """ + Create a DefaultLaunchpad resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['DefaultLaunchpadGroupLaunchpadsArgs', 'DefaultLaunchpadGroupLaunchpadsArgsDict']] group_launchpads: Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[DefaultLaunchpadArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a DefaultLaunchpad resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param DefaultLaunchpadArgs 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(DefaultLaunchpadArgs, 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, + group_launchpads: Optional[pulumi.Input[Union['DefaultLaunchpadGroupLaunchpadsArgs', 'DefaultLaunchpadGroupLaunchpadsArgsDict']]] = 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__ = DefaultLaunchpadArgs.__new__(DefaultLaunchpadArgs) + + __props__.__dict__["group_launchpads"] = group_launchpads + super(DefaultLaunchpad, __self__).__init__( + 'dynatrace:index/defaultLaunchpad:DefaultLaunchpad', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + group_launchpads: Optional[pulumi.Input[Union['DefaultLaunchpadGroupLaunchpadsArgs', 'DefaultLaunchpadGroupLaunchpadsArgsDict']]] = None) -> 'DefaultLaunchpad': + """ + Get an existing DefaultLaunchpad 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[Union['DefaultLaunchpadGroupLaunchpadsArgs', 'DefaultLaunchpadGroupLaunchpadsArgsDict']] group_launchpads: Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DefaultLaunchpadState.__new__(_DefaultLaunchpadState) + + __props__.__dict__["group_launchpads"] = group_launchpads + return DefaultLaunchpad(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="groupLaunchpads") + def group_launchpads(self) -> pulumi.Output[Optional['outputs.DefaultLaunchpadGroupLaunchpads']]: + """ + Set default launchpads for user groups. The highest ranked will be shown to the user of a group. + """ + return pulumi.get(self, "group_launchpads") + diff --git a/sdk/python/pulumiverse_dynatrace/event_driven_ansible_connections.py b/sdk/python/pulumiverse_dynatrace/event_driven_ansible_connections.py new file mode 100644 index 00000000..b384b415 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/event_driven_ansible_connections.py @@ -0,0 +1,293 @@ +# 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__ = ['EventDrivenAnsibleConnectionsArgs', 'EventDrivenAnsibleConnections'] + +@pulumi.input_type +class EventDrivenAnsibleConnectionsArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + url: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a EventDrivenAnsibleConnections resource. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + :param pulumi.Input[str] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "url", url) + if name is not None: + pulumi.set(__self__, "name", name) + if token is not None: + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Possible Values: `Api_token` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class _EventDrivenAnsibleConnectionsState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering EventDrivenAnsibleConnections resources. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + """ + if name is not None: + pulumi.set(__self__, "name", name) + if token is not None: + pulumi.set(__self__, "token", token) + if type is not None: + pulumi.set(__self__, "type", type) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Possible Values: `Api_token` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class EventDrivenAnsibleConnections(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a EventDrivenAnsibleConnections resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EventDrivenAnsibleConnectionsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a EventDrivenAnsibleConnections resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param EventDrivenAnsibleConnectionsArgs 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(EventDrivenAnsibleConnectionsArgs, 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, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: 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__ = EventDrivenAnsibleConnectionsArgs.__new__(EventDrivenAnsibleConnectionsArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["token"] = None if token is None else pulumi.Output.secret(token) + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(EventDrivenAnsibleConnections, __self__).__init__( + 'dynatrace:index/eventDrivenAnsibleConnections:EventDrivenAnsibleConnections', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'EventDrivenAnsibleConnections': + """ + Get an existing EventDrivenAnsibleConnections 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] name: A unique and clearly identifiable connection name. + :param pulumi.Input[str] token: API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] type: Possible Values: `Api_token` + :param pulumi.Input[str] url: URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _EventDrivenAnsibleConnectionsState.__new__(_EventDrivenAnsibleConnectionsState) + + __props__.__dict__["name"] = name + __props__.__dict__["token"] = token + __props__.__dict__["type"] = type + __props__.__dict__["url"] = url + return EventDrivenAnsibleConnections(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A unique and clearly identifiable connection name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[Optional[str]]: + """ + API access token for the Event-Driven Ansible Controller. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Possible Values: `Api_token` + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + URL of the Event-Driven Ansible source plugin webhook. For example, https://eda.yourdomain.com:5010 + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumiverse_dynatrace/frequent_issues.py b/sdk/python/pulumiverse_dynatrace/frequent_issues.py index 558f6cde..df302d36 100644 --- a/sdk/python/pulumiverse_dynatrace/frequent_issues.py +++ b/sdk/python/pulumiverse_dynatrace/frequent_issues.py @@ -21,16 +21,20 @@ class FrequentIssuesArgs: def __init__(__self__, *, detect_apps: pulumi.Input[bool], detect_infra: pulumi.Input[bool], - detect_txn: pulumi.Input[bool]): + detect_txn: pulumi.Input[bool], + detect_env: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a FrequentIssues resource. :param pulumi.Input[bool] detect_apps: Detect frequent issues within applications, enabled (`true`) or disabled (`false`) :param pulumi.Input[bool] detect_infra: Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) :param pulumi.Input[bool] detect_txn: Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) + :param pulumi.Input[bool] detect_env: Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. """ pulumi.set(__self__, "detect_apps", detect_apps) pulumi.set(__self__, "detect_infra", detect_infra) pulumi.set(__self__, "detect_txn", detect_txn) + if detect_env is not None: + pulumi.set(__self__, "detect_env", detect_env) @property @pulumi.getter(name="detectApps") @@ -68,21 +72,37 @@ def detect_txn(self) -> pulumi.Input[bool]: def detect_txn(self, value: pulumi.Input[bool]): pulumi.set(self, "detect_txn", value) + @property + @pulumi.getter(name="detectEnv") + def detect_env(self) -> Optional[pulumi.Input[bool]]: + """ + Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + """ + return pulumi.get(self, "detect_env") + + @detect_env.setter + def detect_env(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "detect_env", value) + @pulumi.input_type class _FrequentIssuesState: def __init__(__self__, *, detect_apps: Optional[pulumi.Input[bool]] = None, + detect_env: Optional[pulumi.Input[bool]] = None, detect_infra: Optional[pulumi.Input[bool]] = None, detect_txn: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering FrequentIssues resources. :param pulumi.Input[bool] detect_apps: Detect frequent issues within applications, enabled (`true`) or disabled (`false`) + :param pulumi.Input[bool] detect_env: Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. :param pulumi.Input[bool] detect_infra: Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) :param pulumi.Input[bool] detect_txn: Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) """ if detect_apps is not None: pulumi.set(__self__, "detect_apps", detect_apps) + if detect_env is not None: + pulumi.set(__self__, "detect_env", detect_env) if detect_infra is not None: pulumi.set(__self__, "detect_infra", detect_infra) if detect_txn is not None: @@ -100,6 +120,18 @@ def detect_apps(self) -> Optional[pulumi.Input[bool]]: def detect_apps(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "detect_apps", value) + @property + @pulumi.getter(name="detectEnv") + def detect_env(self) -> Optional[pulumi.Input[bool]]: + """ + Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + """ + return pulumi.get(self, "detect_env") + + @detect_env.setter + def detect_env(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "detect_env", value) + @property @pulumi.getter(name="detectInfra") def detect_infra(self) -> Optional[pulumi.Input[bool]]: @@ -131,6 +163,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, detect_apps: Optional[pulumi.Input[bool]] = None, + detect_env: Optional[pulumi.Input[bool]] = None, detect_infra: Optional[pulumi.Input[bool]] = None, detect_txn: Optional[pulumi.Input[bool]] = None, __props__=None): @@ -139,6 +172,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] detect_apps: Detect frequent issues within applications, enabled (`true`) or disabled (`false`) + :param pulumi.Input[bool] detect_env: Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. :param pulumi.Input[bool] detect_infra: Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) :param pulumi.Input[bool] detect_txn: Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) """ @@ -166,6 +200,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, detect_apps: Optional[pulumi.Input[bool]] = None, + detect_env: Optional[pulumi.Input[bool]] = None, detect_infra: Optional[pulumi.Input[bool]] = None, detect_txn: Optional[pulumi.Input[bool]] = None, __props__=None): @@ -180,6 +215,7 @@ def _internal_init(__self__, if detect_apps is None and not opts.urn: raise TypeError("Missing required property 'detect_apps'") __props__.__dict__["detect_apps"] = detect_apps + __props__.__dict__["detect_env"] = detect_env if detect_infra is None and not opts.urn: raise TypeError("Missing required property 'detect_infra'") __props__.__dict__["detect_infra"] = detect_infra @@ -197,6 +233,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, detect_apps: Optional[pulumi.Input[bool]] = None, + detect_env: Optional[pulumi.Input[bool]] = None, detect_infra: Optional[pulumi.Input[bool]] = None, detect_txn: Optional[pulumi.Input[bool]] = None) -> 'FrequentIssues': """ @@ -207,6 +244,7 @@ def get(resource_name: str, :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[bool] detect_apps: Detect frequent issues within applications, enabled (`true`) or disabled (`false`) + :param pulumi.Input[bool] detect_env: Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. :param pulumi.Input[bool] detect_infra: Detect frequent issues within infrastructure, enabled (`true`) or disabled (`false`) :param pulumi.Input[bool] detect_txn: Detect frequent issues within transactions and services, enabled (`true`) or disabled (`false`) """ @@ -215,6 +253,7 @@ def get(resource_name: str, __props__ = _FrequentIssuesState.__new__(_FrequentIssuesState) __props__.__dict__["detect_apps"] = detect_apps + __props__.__dict__["detect_env"] = detect_env __props__.__dict__["detect_infra"] = detect_infra __props__.__dict__["detect_txn"] = detect_txn return FrequentIssues(resource_name, opts=opts, __props__=__props__) @@ -227,6 +266,14 @@ def detect_apps(self) -> pulumi.Output[bool]: """ return pulumi.get(self, "detect_apps") + @property + @pulumi.getter(name="detectEnv") + def detect_env(self) -> pulumi.Output[Optional[bool]]: + """ + Events raised at this level typically occur when no specific topological entity is applicable, often based on data such as logs and metrics. This does not impact the detection of issues within applications, transactions, services, or infrastructure. + """ + return pulumi.get(self, "detect_env") + @property @pulumi.getter(name="detectInfra") def detect_infra(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumiverse_dynatrace/get_alerting_profile.py b/sdk/python/pulumiverse_dynatrace/get_alerting_profile.py index 208203b6..89d1acbd 100644 --- a/sdk/python/pulumiverse_dynatrace/get_alerting_profile.py +++ b/sdk/python/pulumiverse_dynatrace/get_alerting_profile.py @@ -101,7 +101,7 @@ def get_alerting_profile(name: Optional[str] = None, legacy_id=pulumi.get(__ret__, 'legacy_id'), name=pulumi.get(__ret__, 'name')) def get_alerting_profile_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAlertingProfileResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlertingProfileResult]: """ The Alerting Profile queries for an Alerting Profile that has a specified name. In case multiple Alerting Profiles share the same name the first one found will be used. The ID of this Data Resource aligns with the IDs used by the Dynatrace Settings 2.0 API. @@ -126,7 +126,7 @@ def get_alerting_profile_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAlertingProfile:getAlertingProfile', __args__, opts=opts, typ=GetAlertingProfileResult) return __ret__.apply(lambda __response__: GetAlertingProfileResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_alerting_profiles.py b/sdk/python/pulumiverse_dynatrace/get_alerting_profiles.py index bd638558..c617a5ef 100644 --- a/sdk/python/pulumiverse_dynatrace/get_alerting_profiles.py +++ b/sdk/python/pulumiverse_dynatrace/get_alerting_profiles.py @@ -83,13 +83,13 @@ def get_alerting_profiles(profiles: Optional[Mapping[str, str]] = None, profiles=pulumi.get(__ret__, 'profiles'), values=pulumi.get(__ret__, 'values')) def get_alerting_profiles_output(profiles: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAlertingProfilesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlertingProfilesResult]: """ The alerting profiles data source allows retrieval of all alerting profiles. """ __args__ = dict() __args__['profiles'] = profiles - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAlertingProfiles:getAlertingProfiles', __args__, opts=opts, typ=GetAlertingProfilesResult) return __ret__.apply(lambda __response__: GetAlertingProfilesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_api_token.py b/sdk/python/pulumiverse_dynatrace/get_api_token.py index 85d246a1..84199721 100644 --- a/sdk/python/pulumiverse_dynatrace/get_api_token.py +++ b/sdk/python/pulumiverse_dynatrace/get_api_token.py @@ -162,7 +162,7 @@ def get_api_token(name: Optional[str] = None, personal_access_token=pulumi.get(__ret__, 'personal_access_token'), scopes=pulumi.get(__ret__, 'scopes')) def get_api_token_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApiTokenResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApiTokenResult]: """ The API token data source allows a single access token to be retrieved by its name, note the token value is not included in the response. @@ -180,7 +180,7 @@ def get_api_token_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getApiToken:getApiToken', __args__, opts=opts, typ=GetApiTokenResult) return __ret__.apply(lambda __response__: GetApiTokenResult( creation_date=pulumi.get(__response__, 'creation_date'), diff --git a/sdk/python/pulumiverse_dynatrace/get_api_tokens.py b/sdk/python/pulumiverse_dynatrace/get_api_tokens.py index 52324255..bd4dec87 100644 --- a/sdk/python/pulumiverse_dynatrace/get_api_tokens.py +++ b/sdk/python/pulumiverse_dynatrace/get_api_tokens.py @@ -80,7 +80,7 @@ def get_api_tokens(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetA return AwaitableGetApiTokensResult( api_tokens=pulumi.get(__ret__, 'api_tokens'), id=pulumi.get(__ret__, 'id')) -def get_api_tokens_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApiTokensResult]: +def get_api_tokens_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApiTokensResult]: """ The API tokens data source allows all access tokens to be retrieved, note the token value is not included in the response. @@ -95,7 +95,7 @@ def get_api_tokens_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi ``` """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getApiTokens:getApiTokens', __args__, opts=opts, typ=GetApiTokensResult) return __ret__.apply(lambda __response__: GetApiTokensResult( api_tokens=pulumi.get(__response__, 'api_tokens'), diff --git a/sdk/python/pulumiverse_dynatrace/get_application.py b/sdk/python/pulumiverse_dynatrace/get_application.py index aa81fe6f..64df78a5 100644 --- a/sdk/python/pulumiverse_dynatrace/get_application.py +++ b/sdk/python/pulumiverse_dynatrace/get_application.py @@ -91,7 +91,7 @@ def get_application(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_application_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationResult]: """ The application data source allows the application ID to be retrieved by its name. @@ -116,7 +116,7 @@ def get_application_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getApplication:getApplication', __args__, opts=opts, typ=GetApplicationResult) return __ret__.apply(lambda __response__: GetApplicationResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_attack_alerting.py b/sdk/python/pulumiverse_dynatrace/get_attack_alerting.py index e4f5473b..12dde8a9 100644 --- a/sdk/python/pulumiverse_dynatrace/get_attack_alerting.py +++ b/sdk/python/pulumiverse_dynatrace/get_attack_alerting.py @@ -86,7 +86,7 @@ def get_attack_alerting(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_attack_alerting_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAttackAlertingResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAttackAlertingResult]: """ The `AttackAlerting` data source allows the attack alerting profile ID to be retrieved by its name. @@ -106,7 +106,7 @@ def get_attack_alerting_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAttackAlerting:getAttackAlerting', __args__, opts=opts, typ=GetAttackAlertingResult) return __ret__.apply(lambda __response__: GetAttackAlertingResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_autotag.py b/sdk/python/pulumiverse_dynatrace/get_autotag.py index 41c79a1e..88c3f1e8 100644 --- a/sdk/python/pulumiverse_dynatrace/get_autotag.py +++ b/sdk/python/pulumiverse_dynatrace/get_autotag.py @@ -128,7 +128,7 @@ def get_autotag(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_autotag_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAutotagResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAutotagResult]: """ The automatically applied tag data source allows the tag ID to be retrieved by its name. @@ -190,7 +190,7 @@ def get_autotag_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAutotag:getAutotag', __args__, opts=opts, typ=GetAutotagResult) return __ret__.apply(lambda __response__: GetAutotagResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_aws_credentials.py b/sdk/python/pulumiverse_dynatrace/get_aws_credentials.py index c26d2d42..c1096068 100644 --- a/sdk/python/pulumiverse_dynatrace/get_aws_credentials.py +++ b/sdk/python/pulumiverse_dynatrace/get_aws_credentials.py @@ -74,7 +74,7 @@ def get_aws_credentials(label: Optional[str] = None, id=pulumi.get(__ret__, 'id'), label=pulumi.get(__ret__, 'label')) def get_aws_credentials_output(label: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAwsCredentialsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAwsCredentialsResult]: """ The `AwsCredentials` data source allows the AWS credential ID to be retrieved by its label. @@ -82,7 +82,7 @@ def get_aws_credentials_output(label: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['label'] = label - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAwsCredentials:getAwsCredentials', __args__, opts=opts, typ=GetAwsCredentialsResult) return __ret__.apply(lambda __response__: GetAwsCredentialsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_aws_iam_external.py b/sdk/python/pulumiverse_dynatrace/get_aws_iam_external.py index bfea77c3..60931817 100644 --- a/sdk/python/pulumiverse_dynatrace/get_aws_iam_external.py +++ b/sdk/python/pulumiverse_dynatrace/get_aws_iam_external.py @@ -59,12 +59,12 @@ def get_aws_iam_external(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitab return AwaitableGetAwsIamExternalResult( id=pulumi.get(__ret__, 'id')) -def get_aws_iam_external_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAwsIamExternalResult]: +def get_aws_iam_external_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAwsIamExternalResult]: """ The AWS IAM external data source allows the AWS IAM external ID to be retrieved. """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAwsIamExternal:getAwsIamExternal', __args__, opts=opts, typ=GetAwsIamExternalResult) return __ret__.apply(lambda __response__: GetAwsIamExternalResult( id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumiverse_dynatrace/get_aws_supported_services.py b/sdk/python/pulumiverse_dynatrace/get_aws_supported_services.py index db2a453a..afa3afe2 100644 --- a/sdk/python/pulumiverse_dynatrace/get_aws_supported_services.py +++ b/sdk/python/pulumiverse_dynatrace/get_aws_supported_services.py @@ -95,7 +95,7 @@ def get_aws_supported_services(excepts: Optional[Sequence[str]] = None, id=pulumi.get(__ret__, 'id'), services=pulumi.get(__ret__, 'services')) def get_aws_supported_services_output(excepts: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAwsSupportedServicesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAwsSupportedServicesResult]: """ The AWS supported service data source queries for a full list of all supported services. @@ -108,7 +108,7 @@ def get_aws_supported_services_output(excepts: Optional[pulumi.Input[Optional[Se """ __args__ = dict() __args__['excepts'] = excepts - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAwsSupportedServices:getAwsSupportedServices', __args__, opts=opts, typ=GetAwsSupportedServicesResult) return __ret__.apply(lambda __response__: GetAwsSupportedServicesResult( excepts=pulumi.get(__response__, 'excepts'), diff --git a/sdk/python/pulumiverse_dynatrace/get_azure_credentials.py b/sdk/python/pulumiverse_dynatrace/get_azure_credentials.py index fd44f86e..11c682e3 100644 --- a/sdk/python/pulumiverse_dynatrace/get_azure_credentials.py +++ b/sdk/python/pulumiverse_dynatrace/get_azure_credentials.py @@ -74,7 +74,7 @@ def get_azure_credentials(label: Optional[str] = None, id=pulumi.get(__ret__, 'id'), label=pulumi.get(__ret__, 'label')) def get_azure_credentials_output(label: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAzureCredentialsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAzureCredentialsResult]: """ The `AzureCredentials` data source allows the Azure credential ID to be retrieved by its label. @@ -82,7 +82,7 @@ def get_azure_credentials_output(label: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['label'] = label - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAzureCredentials:getAzureCredentials', __args__, opts=opts, typ=GetAzureCredentialsResult) return __ret__.apply(lambda __response__: GetAzureCredentialsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_azure_supported_services.py b/sdk/python/pulumiverse_dynatrace/get_azure_supported_services.py index a90069aa..4a3c9572 100644 --- a/sdk/python/pulumiverse_dynatrace/get_azure_supported_services.py +++ b/sdk/python/pulumiverse_dynatrace/get_azure_supported_services.py @@ -95,7 +95,7 @@ def get_azure_supported_services(excepts: Optional[Sequence[str]] = None, id=pulumi.get(__ret__, 'id'), services=pulumi.get(__ret__, 'services')) def get_azure_supported_services_output(excepts: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAzureSupportedServicesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAzureSupportedServicesResult]: """ The Azure supported service data source queries for a full list of all supported services. @@ -108,7 +108,7 @@ def get_azure_supported_services_output(excepts: Optional[pulumi.Input[Optional[ """ __args__ = dict() __args__['excepts'] = excepts - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getAzureSupportedServices:getAzureSupportedServices', __args__, opts=opts, typ=GetAzureSupportedServicesResult) return __ret__.apply(lambda __response__: GetAzureSupportedServicesResult( excepts=pulumi.get(__response__, 'excepts'), diff --git a/sdk/python/pulumiverse_dynatrace/get_calculated_service_metric.py b/sdk/python/pulumiverse_dynatrace/get_calculated_service_metric.py index 984bc420..8cf87b34 100644 --- a/sdk/python/pulumiverse_dynatrace/get_calculated_service_metric.py +++ b/sdk/python/pulumiverse_dynatrace/get_calculated_service_metric.py @@ -84,7 +84,7 @@ def get_calculated_service_metric(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_calculated_service_metric_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCalculatedServiceMetricResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCalculatedServiceMetricResult]: """ The calculated service metric data source allows the metric ID to be retrieved by its name. @@ -102,7 +102,7 @@ def get_calculated_service_metric_output(name: Optional[pulumi.Input[str]] = Non """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getCalculatedServiceMetric:getCalculatedServiceMetric', __args__, opts=opts, typ=GetCalculatedServiceMetricResult) return __ret__.apply(lambda __response__: GetCalculatedServiceMetricResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_credentials.py b/sdk/python/pulumiverse_dynatrace/get_credentials.py index e4d44f56..a3b55070 100644 --- a/sdk/python/pulumiverse_dynatrace/get_credentials.py +++ b/sdk/python/pulumiverse_dynatrace/get_credentials.py @@ -158,7 +158,7 @@ def get_credentials(name: Optional[str] = None, def get_credentials_output(name: Optional[pulumi.Input[Optional[str]]] = None, scope: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCredentialsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCredentialsResult]: """ The `Credentials` data source queries for Credentials stored within the Credentials Vault using the properties `name`, `scope` and `type`. At least one of `name`, `scope` or `type` needs to be specified as a non empty value. Combinations of the three properties are also possible. @@ -217,7 +217,7 @@ def get_credentials_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['scope'] = scope __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getCredentials:getCredentials', __args__, opts=opts, typ=GetCredentialsResult) return __ret__.apply(lambda __response__: GetCredentialsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_dashboard.py b/sdk/python/pulumiverse_dynatrace/get_dashboard.py index 3f105d7d..5cea7180 100644 --- a/sdk/python/pulumiverse_dynatrace/get_dashboard.py +++ b/sdk/python/pulumiverse_dynatrace/get_dashboard.py @@ -101,7 +101,7 @@ def get_dashboard(name: Optional[str] = None, owner=pulumi.get(__ret__, 'owner')) def get_dashboard_output(name: Optional[pulumi.Input[str]] = None, owner: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDashboardResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDashboardResult]: """ The `Dashboard` data source allows the dashboard ID to be retrieved by its name and owner. @@ -124,7 +124,7 @@ def get_dashboard_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['owner'] = owner - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getDashboard:getDashboard', __args__, opts=opts, typ=GetDashboardResult) return __ret__.apply(lambda __response__: GetDashboardResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_documents.py b/sdk/python/pulumiverse_dynatrace/get_documents.py index e8b956d2..4fe779db 100644 --- a/sdk/python/pulumiverse_dynatrace/get_documents.py +++ b/sdk/python/pulumiverse_dynatrace/get_documents.py @@ -104,7 +104,7 @@ def get_documents(type: Optional[str] = None, type=pulumi.get(__ret__, 'type'), values=pulumi.get(__ret__, 'values')) def get_documents_output(type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDocumentsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDocumentsResult]: """ > **Dynatrace SaaS only** @@ -128,7 +128,7 @@ def get_documents_output(type: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getDocuments:getDocuments', __args__, opts=opts, typ=GetDocumentsResult) return __ret__.apply(lambda __response__: GetDocumentsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_entities.py b/sdk/python/pulumiverse_dynatrace/get_entities.py index 98cdba8f..0258e3d5 100644 --- a/sdk/python/pulumiverse_dynatrace/get_entities.py +++ b/sdk/python/pulumiverse_dynatrace/get_entities.py @@ -134,7 +134,7 @@ def get_entities_output(entity_selector: Optional[pulumi.Input[Optional[str]]] = from_: Optional[pulumi.Input[Optional[str]]] = None, to: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEntitiesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEntitiesResult]: """ The entities data source allows all entities to be retrieved by its type. @@ -155,7 +155,7 @@ def get_entities_output(entity_selector: Optional[pulumi.Input[Optional[str]]] = __args__['from'] = from_ __args__['to'] = to __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getEntities:getEntities', __args__, opts=opts, typ=GetEntitiesResult) return __ret__.apply(lambda __response__: GetEntitiesResult( entities=pulumi.get(__response__, 'entities'), diff --git a/sdk/python/pulumiverse_dynatrace/get_entity.py b/sdk/python/pulumiverse_dynatrace/get_entity.py index 9c119918..29638cb1 100644 --- a/sdk/python/pulumiverse_dynatrace/get_entity.py +++ b/sdk/python/pulumiverse_dynatrace/get_entity.py @@ -150,7 +150,7 @@ def get_entity_output(entity_selector: Optional[pulumi.Input[Optional[str]]] = N name: Optional[pulumi.Input[Optional[str]]] = None, to: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEntityResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEntityResult]: """ The entity data source allows the entity ID to be retrieved by its name and type. @@ -176,7 +176,7 @@ def get_entity_output(entity_selector: Optional[pulumi.Input[Optional[str]]] = N __args__['name'] = name __args__['to'] = to __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getEntity:getEntity', __args__, opts=opts, typ=GetEntityResult) return __ret__.apply(lambda __response__: GetEntityResult( entity_selector=pulumi.get(__response__, 'entity_selector'), diff --git a/sdk/python/pulumiverse_dynatrace/get_failure_detection_parameters.py b/sdk/python/pulumiverse_dynatrace/get_failure_detection_parameters.py index 02382f4b..11795e3b 100644 --- a/sdk/python/pulumiverse_dynatrace/get_failure_detection_parameters.py +++ b/sdk/python/pulumiverse_dynatrace/get_failure_detection_parameters.py @@ -86,7 +86,7 @@ def get_failure_detection_parameters(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_failure_detection_parameters_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFailureDetectionParametersResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFailureDetectionParametersResult]: """ The `FailureDetectionParameters` data source allows the failure detection parameter ID to be retrieved by its name. @@ -106,7 +106,7 @@ def get_failure_detection_parameters_output(name: Optional[pulumi.Input[str]] = """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getFailureDetectionParameters:getFailureDetectionParameters', __args__, opts=opts, typ=GetFailureDetectionParametersResult) return __ret__.apply(lambda __response__: GetFailureDetectionParametersResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_generic_setting.py b/sdk/python/pulumiverse_dynatrace/get_generic_setting.py index 3abfabdf..37f76c24 100644 --- a/sdk/python/pulumiverse_dynatrace/get_generic_setting.py +++ b/sdk/python/pulumiverse_dynatrace/get_generic_setting.py @@ -135,7 +135,7 @@ def get_generic_setting(filter: Optional[str] = None, def get_generic_setting_output(filter: Optional[pulumi.Input[Optional[str]]] = None, schema: Optional[pulumi.Input[Optional[str]]] = None, scope: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGenericSettingResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGenericSettingResult]: """ The generic setting data source allows a single Settings 2.0 object to be retrieved by its schema ID, scope, and/or filter. @@ -161,7 +161,7 @@ def get_generic_setting_output(filter: Optional[pulumi.Input[Optional[str]]] = N __args__['filter'] = filter __args__['schema'] = schema __args__['scope'] = scope - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getGenericSetting:getGenericSetting', __args__, opts=opts, typ=GetGenericSettingResult) return __ret__.apply(lambda __response__: GetGenericSettingResult( filter=pulumi.get(__response__, 'filter'), diff --git a/sdk/python/pulumiverse_dynatrace/get_generic_settings.py b/sdk/python/pulumiverse_dynatrace/get_generic_settings.py index 664a8f3c..98ec4a58 100644 --- a/sdk/python/pulumiverse_dynatrace/get_generic_settings.py +++ b/sdk/python/pulumiverse_dynatrace/get_generic_settings.py @@ -133,7 +133,7 @@ def get_generic_settings(filter: Optional[str] = None, def get_generic_settings_output(filter: Optional[pulumi.Input[Optional[str]]] = None, schema: Optional[pulumi.Input[Optional[str]]] = None, scope: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGenericSettingsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGenericSettingsResult]: """ The generic settings data source allows Settings 2.0 objects to be retrieved by its schema ID, scope, and/or filter. @@ -156,7 +156,7 @@ def get_generic_settings_output(filter: Optional[pulumi.Input[Optional[str]]] = __args__['filter'] = filter __args__['schema'] = schema __args__['scope'] = scope - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getGenericSettings:getGenericSettings', __args__, opts=opts, typ=GetGenericSettingsResult) return __ret__.apply(lambda __response__: GetGenericSettingsResult( filter=pulumi.get(__response__, 'filter'), diff --git a/sdk/python/pulumiverse_dynatrace/get_geo_cities.py b/sdk/python/pulumiverse_dynatrace/get_geo_cities.py new file mode 100644 index 00000000..17c07382 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/get_geo_cities.py @@ -0,0 +1,158 @@ +# 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 + +__all__ = [ + 'GetGeoCitiesResult', + 'AwaitableGetGeoCitiesResult', + 'get_geo_cities', + 'get_geo_cities_output', +] + +@pulumi.output_type +class GetGeoCitiesResult: + """ + A collection of values returned by getGeoCities. + """ + def __init__(__self__, cities=None, country_code=None, id=None, region_code=None): + if cities and not isinstance(cities, list): + raise TypeError("Expected argument 'cities' to be a list") + pulumi.set(__self__, "cities", cities) + if country_code and not isinstance(country_code, str): + raise TypeError("Expected argument 'country_code' to be a str") + pulumi.set(__self__, "country_code", country_code) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if region_code and not isinstance(region_code, str): + raise TypeError("Expected argument 'region_code' to be a str") + pulumi.set(__self__, "region_code", region_code) + + @property + @pulumi.getter + def cities(self) -> Sequence['outputs.GetGeoCitiesCityResult']: + return pulumi.get(self, "cities") + + @property + @pulumi.getter(name="countryCode") + def country_code(self) -> str: + """ + The ISO code of the required country + """ + return pulumi.get(self, "country_code") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="regionCode") + def region_code(self) -> str: + """ + The code of the required region + """ + return pulumi.get(self, "region_code") + + +class AwaitableGetGeoCitiesResult(GetGeoCitiesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGeoCitiesResult( + cities=self.cities, + country_code=self.country_code, + id=self.id, + region_code=self.region_code) + + +def get_geo_cities(country_code: Optional[str] = None, + region_code: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGeoCitiesResult: + """ + The `get_geo_cities` data source retrieves the list of cities and their codes based on country and region code. + + - `country_code` (String) - The ISO code of the required country + - `region_code` (String) - The code of the required region + + Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + + ## Example Usage + + ```python + import pulumi + import pulumi_dynatrace as dynatrace + + example = dynatrace.get_geo_cities(country_code="FR", + region_code="BRE") + pulumi.export("test", example) + ``` + + + :param str country_code: The ISO code of the required country + :param str region_code: The code of the required region + """ + __args__ = dict() + __args__['countryCode'] = country_code + __args__['regionCode'] = region_code + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('dynatrace:index/getGeoCities:getGeoCities', __args__, opts=opts, typ=GetGeoCitiesResult).value + + return AwaitableGetGeoCitiesResult( + cities=pulumi.get(__ret__, 'cities'), + country_code=pulumi.get(__ret__, 'country_code'), + id=pulumi.get(__ret__, 'id'), + region_code=pulumi.get(__ret__, 'region_code')) +def get_geo_cities_output(country_code: Optional[pulumi.Input[str]] = None, + region_code: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGeoCitiesResult]: + """ + The `get_geo_cities` data source retrieves the list of cities and their codes based on country and region code. + + - `country_code` (String) - The ISO code of the required country + - `region_code` (String) - The code of the required region + + Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + + ## Example Usage + + ```python + import pulumi + import pulumi_dynatrace as dynatrace + + example = dynatrace.get_geo_cities(country_code="FR", + region_code="BRE") + pulumi.export("test", example) + ``` + + + :param str country_code: The ISO code of the required country + :param str region_code: The code of the required region + """ + __args__ = dict() + __args__['countryCode'] = country_code + __args__['regionCode'] = region_code + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getGeoCities:getGeoCities', __args__, opts=opts, typ=GetGeoCitiesResult) + return __ret__.apply(lambda __response__: GetGeoCitiesResult( + cities=pulumi.get(__response__, 'cities'), + country_code=pulumi.get(__response__, 'country_code'), + id=pulumi.get(__response__, 'id'), + region_code=pulumi.get(__response__, 'region_code'))) diff --git a/sdk/python/pulumiverse_dynatrace/get_geo_countries.py b/sdk/python/pulumiverse_dynatrace/get_geo_countries.py new file mode 100644 index 00000000..c5e82096 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/get_geo_countries.py @@ -0,0 +1,106 @@ +# 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 + +__all__ = [ + 'GetGeoCountriesResult', + 'AwaitableGetGeoCountriesResult', + 'get_geo_countries', + 'get_geo_countries_output', +] + +@pulumi.output_type +class GetGeoCountriesResult: + """ + A collection of values returned by getGeoCountries. + """ + def __init__(__self__, countries=None, id=None): + if countries and not isinstance(countries, list): + raise TypeError("Expected argument 'countries' to be a list") + pulumi.set(__self__, "countries", countries) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def countries(self) -> Sequence['outputs.GetGeoCountriesCountryResult']: + return pulumi.get(self, "countries") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetGeoCountriesResult(GetGeoCountriesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGeoCountriesResult( + countries=self.countries, + id=self.id) + + +def get_geo_countries(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGeoCountriesResult: + """ + The `get_geo_countries` data source retrieves the list of countries and their codes. + + Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + + ## Example Usage + + ```python + import pulumi + import pulumi_dynatrace as dynatrace + + example = dynatrace.get_geo_countries() + pulumi.export("test", example) + ``` + """ + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('dynatrace:index/getGeoCountries:getGeoCountries', __args__, opts=opts, typ=GetGeoCountriesResult).value + + return AwaitableGetGeoCountriesResult( + countries=pulumi.get(__ret__, 'countries'), + id=pulumi.get(__ret__, 'id')) +def get_geo_countries_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGeoCountriesResult]: + """ + The `get_geo_countries` data source retrieves the list of countries and their codes. + + Geographic regions API: GET countries - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-countries + + ## Example Usage + + ```python + import pulumi + import pulumi_dynatrace as dynatrace + + example = dynatrace.get_geo_countries() + pulumi.export("test", example) + ``` + """ + __args__ = dict() + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getGeoCountries:getGeoCountries', __args__, opts=opts, typ=GetGeoCountriesResult) + return __ret__.apply(lambda __response__: GetGeoCountriesResult( + countries=pulumi.get(__response__, 'countries'), + id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumiverse_dynatrace/get_geo_regions.py b/sdk/python/pulumiverse_dynatrace/get_geo_regions.py new file mode 100644 index 00000000..6b289933 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/get_geo_regions.py @@ -0,0 +1,134 @@ +# 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 + +__all__ = [ + 'GetGeoRegionsResult', + 'AwaitableGetGeoRegionsResult', + 'get_geo_regions', + 'get_geo_regions_output', +] + +@pulumi.output_type +class GetGeoRegionsResult: + """ + A collection of values returned by getGeoRegions. + """ + def __init__(__self__, country_code=None, id=None, regions=None): + if country_code and not isinstance(country_code, str): + raise TypeError("Expected argument 'country_code' to be a str") + pulumi.set(__self__, "country_code", country_code) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if regions and not isinstance(regions, list): + raise TypeError("Expected argument 'regions' to be a list") + pulumi.set(__self__, "regions", regions) + + @property + @pulumi.getter(name="countryCode") + def country_code(self) -> str: + """ + The ISO code of the required country + """ + return pulumi.get(self, "country_code") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def regions(self) -> Sequence['outputs.GetGeoRegionsRegionResult']: + return pulumi.get(self, "regions") + + +class AwaitableGetGeoRegionsResult(GetGeoRegionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGeoRegionsResult( + country_code=self.country_code, + id=self.id, + regions=self.regions) + + +def get_geo_regions(country_code: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGeoRegionsResult: + """ + The `get_geo_regions` data source retrieves the list of regions and their codes based on country code. + + - `country_code` (String) - The ISO code of the required country + + Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + + ## Example Usage + + ```python + import pulumi + import pulumi_dynatrace as dynatrace + + example = dynatrace.get_geo_regions(country_code="FR") + pulumi.export("test", example) + ``` + + + :param str country_code: The ISO code of the required country + """ + __args__ = dict() + __args__['countryCode'] = country_code + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('dynatrace:index/getGeoRegions:getGeoRegions', __args__, opts=opts, typ=GetGeoRegionsResult).value + + return AwaitableGetGeoRegionsResult( + country_code=pulumi.get(__ret__, 'country_code'), + id=pulumi.get(__ret__, 'id'), + regions=pulumi.get(__ret__, 'regions')) +def get_geo_regions_output(country_code: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGeoRegionsResult]: + """ + The `get_geo_regions` data source retrieves the list of regions and their codes based on country code. + + - `country_code` (String) - The ISO code of the required country + + Geographic regions API: GET regions of a country - https://docs.dynatrace.com/docs/shortlink/api-v2-rum-geographic-regions-get-regions-country + + ## Example Usage + + ```python + import pulumi + import pulumi_dynatrace as dynatrace + + example = dynatrace.get_geo_regions(country_code="FR") + pulumi.export("test", example) + ``` + + + :param str country_code: The ISO code of the required country + """ + __args__ = dict() + __args__['countryCode'] = country_code + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getGeoRegions:getGeoRegions', __args__, opts=opts, typ=GetGeoRegionsResult) + return __ret__.apply(lambda __response__: GetGeoRegionsResult( + country_code=pulumi.get(__response__, 'country_code'), + id=pulumi.get(__response__, 'id'), + regions=pulumi.get(__response__, 'regions'))) diff --git a/sdk/python/pulumiverse_dynatrace/get_host.py b/sdk/python/pulumiverse_dynatrace/get_host.py index 4b096e7c..3f6845a3 100644 --- a/sdk/python/pulumiverse_dynatrace/get_host.py +++ b/sdk/python/pulumiverse_dynatrace/get_host.py @@ -116,7 +116,7 @@ def get_host(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_host_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHostResult]: """ !> The data source API endpoint has been deprecated, please use get_entity with entity type `HOST` instead. @@ -151,7 +151,7 @@ def get_host_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getHost:getHost', __args__, opts=opts, typ=GetHostResult) return __ret__.apply(lambda __response__: GetHostResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_hub_items.py b/sdk/python/pulumiverse_dynatrace/get_hub_items.py index 8af78a59..9f199d29 100644 --- a/sdk/python/pulumiverse_dynatrace/get_hub_items.py +++ b/sdk/python/pulumiverse_dynatrace/get_hub_items.py @@ -118,7 +118,7 @@ def get_hub_items(type: Optional[str] = None, items=pulumi.get(__ret__, 'items'), type=pulumi.get(__ret__, 'type')) def get_hub_items_output(type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHubItemsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetHubItemsResult]: """ > This data source requires the API token scope `hub.read`) @@ -140,7 +140,7 @@ def get_hub_items_output(type: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getHubItems:getHubItems', __args__, opts=opts, typ=GetHubItemsResult) return __ret__.apply(lambda __response__: GetHubItemsResult( artifacts=pulumi.get(__response__, 'artifacts'), diff --git a/sdk/python/pulumiverse_dynatrace/get_iam_group.py b/sdk/python/pulumiverse_dynatrace/get_iam_group.py index 897a02d1..c92d230c 100644 --- a/sdk/python/pulumiverse_dynatrace/get_iam_group.py +++ b/sdk/python/pulumiverse_dynatrace/get_iam_group.py @@ -88,7 +88,7 @@ def get_iam_group(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_iam_group_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamGroupResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamGroupResult]: """ > **Dynatrace SaaS only** @@ -110,7 +110,7 @@ def get_iam_group_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getIamGroup:getIamGroup', __args__, opts=opts, typ=GetIamGroupResult) return __ret__.apply(lambda __response__: GetIamGroupResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_iam_groups.py b/sdk/python/pulumiverse_dynatrace/get_iam_groups.py index 052740b8..3f659c16 100644 --- a/sdk/python/pulumiverse_dynatrace/get_iam_groups.py +++ b/sdk/python/pulumiverse_dynatrace/get_iam_groups.py @@ -83,7 +83,7 @@ def get_iam_groups(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetI return AwaitableGetIamGroupsResult( groups=pulumi.get(__ret__, 'groups'), id=pulumi.get(__ret__, 'id')) -def get_iam_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamGroupsResult]: +def get_iam_groups_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamGroupsResult]: """ > **Dynatrace SaaS only** @@ -102,7 +102,7 @@ def get_iam_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi ### Example output """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getIamGroups:getIamGroups', __args__, opts=opts, typ=GetIamGroupsResult) return __ret__.apply(lambda __response__: GetIamGroupsResult( groups=pulumi.get(__response__, 'groups'), diff --git a/sdk/python/pulumiverse_dynatrace/get_iam_policies.py b/sdk/python/pulumiverse_dynatrace/get_iam_policies.py index a3d90281..7fecc0e1 100644 --- a/sdk/python/pulumiverse_dynatrace/get_iam_policies.py +++ b/sdk/python/pulumiverse_dynatrace/get_iam_policies.py @@ -181,7 +181,7 @@ def get_iam_policies_output(accounts: Optional[pulumi.Input[Optional[Sequence[st environments: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, global_: Optional[pulumi.Input[Optional[bool]]] = None, groups: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamPoliciesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamPoliciesResult]: """ > **Dynatrace SaaS only** @@ -237,7 +237,7 @@ def get_iam_policies_output(accounts: Optional[pulumi.Input[Optional[Sequence[st __args__['environments'] = environments __args__['global'] = global_ __args__['groups'] = groups - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getIamPolicies:getIamPolicies', __args__, opts=opts, typ=GetIamPoliciesResult) return __ret__.apply(lambda __response__: GetIamPoliciesResult( accounts=pulumi.get(__response__, 'accounts'), diff --git a/sdk/python/pulumiverse_dynatrace/get_iam_policy.py b/sdk/python/pulumiverse_dynatrace/get_iam_policy.py index 57d12dbf..6ba7593d 100644 --- a/sdk/python/pulumiverse_dynatrace/get_iam_policy.py +++ b/sdk/python/pulumiverse_dynatrace/get_iam_policy.py @@ -145,7 +145,7 @@ def get_iam_policy_output(account: Optional[pulumi.Input[Optional[str]]] = None, environment: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[str]] = None, uuid: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamPolicyResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamPolicyResult]: """ > **Dynatrace SaaS only** @@ -176,7 +176,7 @@ def get_iam_policy_output(account: Optional[pulumi.Input[Optional[str]]] = None, __args__['environment'] = environment __args__['name'] = name __args__['uuid'] = uuid - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getIamPolicy:getIamPolicy', __args__, opts=opts, typ=GetIamPolicyResult) return __ret__.apply(lambda __response__: GetIamPolicyResult( account=pulumi.get(__response__, 'account'), diff --git a/sdk/python/pulumiverse_dynatrace/get_iam_user.py b/sdk/python/pulumiverse_dynatrace/get_iam_user.py index 96d38b0b..bf49e91c 100644 --- a/sdk/python/pulumiverse_dynatrace/get_iam_user.py +++ b/sdk/python/pulumiverse_dynatrace/get_iam_user.py @@ -106,7 +106,7 @@ def get_iam_user(email: Optional[str] = None, id=pulumi.get(__ret__, 'id'), uid=pulumi.get(__ret__, 'uid')) def get_iam_user_output(email: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamUserResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamUserResult]: """ > **Dynatrace SaaS only** @@ -126,7 +126,7 @@ def get_iam_user_output(email: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['email'] = email - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getIamUser:getIamUser', __args__, opts=opts, typ=GetIamUserResult) return __ret__.apply(lambda __response__: GetIamUserResult( email=pulumi.get(__response__, 'email'), diff --git a/sdk/python/pulumiverse_dynatrace/get_lambda_agent_version.py b/sdk/python/pulumiverse_dynatrace/get_lambda_agent_version.py index 1ba9b094..58e7d8de 100644 --- a/sdk/python/pulumiverse_dynatrace/get_lambda_agent_version.py +++ b/sdk/python/pulumiverse_dynatrace/get_lambda_agent_version.py @@ -190,7 +190,7 @@ def get_lambda_agent_version_output(collector: Optional[pulumi.Input[Optional[st nodejs_with_collector: Optional[pulumi.Input[Optional[str]]] = None, python: Optional[pulumi.Input[Optional[str]]] = None, python_with_collector: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLambdaAgentVersionResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLambdaAgentVersionResult]: """ The AWS Lambda agent version data source retrieves the latest version names of OneAgent code modules for the Java, Node.js, and Python runtimes, also including names for layers that are combined with the log collector, as well as for the standalone log collector layer. @@ -221,7 +221,7 @@ def get_lambda_agent_version_output(collector: Optional[pulumi.Input[Optional[st __args__['nodejsWithCollector'] = nodejs_with_collector __args__['python'] = python __args__['pythonWithCollector'] = python_with_collector - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getLambdaAgentVersion:getLambdaAgentVersion', __args__, opts=opts, typ=GetLambdaAgentVersionResult) return __ret__.apply(lambda __response__: GetLambdaAgentVersionResult( collector=pulumi.get(__response__, 'collector'), diff --git a/sdk/python/pulumiverse_dynatrace/get_management_zone.py b/sdk/python/pulumiverse_dynatrace/get_management_zone.py index 1c7091f7..a77dc6c2 100644 --- a/sdk/python/pulumiverse_dynatrace/get_management_zone.py +++ b/sdk/python/pulumiverse_dynatrace/get_management_zone.py @@ -132,7 +132,7 @@ def get_management_zone(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), settings20_id=pulumi.get(__ret__, 'settings20_id')) def get_management_zone_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetManagementZoneResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetManagementZoneResult]: """ The management zone data source allows the management zone ID to be retrieved by its name. @@ -178,7 +178,7 @@ def get_management_zone_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getManagementZone:getManagementZone', __args__, opts=opts, typ=GetManagementZoneResult) return __ret__.apply(lambda __response__: GetManagementZoneResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_management_zone_v2.py b/sdk/python/pulumiverse_dynatrace/get_management_zone_v2.py index 740c4229..807a65a3 100644 --- a/sdk/python/pulumiverse_dynatrace/get_management_zone_v2.py +++ b/sdk/python/pulumiverse_dynatrace/get_management_zone_v2.py @@ -130,7 +130,7 @@ def get_management_zone_v2(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), settings20_id=pulumi.get(__ret__, 'settings20_id')) def get_management_zone_v2_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetManagementZoneV2Result]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetManagementZoneV2Result]: """ The management zone data source allows the management zone ID to be retrieved by its name. @@ -174,7 +174,7 @@ def get_management_zone_v2_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getManagementZoneV2:getManagementZoneV2', __args__, opts=opts, typ=GetManagementZoneV2Result) return __ret__.apply(lambda __response__: GetManagementZoneV2Result( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_management_zones.py b/sdk/python/pulumiverse_dynatrace/get_management_zones.py index ee2569c2..b034bc50 100644 --- a/sdk/python/pulumiverse_dynatrace/get_management_zones.py +++ b/sdk/python/pulumiverse_dynatrace/get_management_zones.py @@ -104,7 +104,7 @@ def get_management_zones(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitab return AwaitableGetManagementZonesResult( id=pulumi.get(__ret__, 'id'), values=pulumi.get(__ret__, 'values')) -def get_management_zones_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetManagementZonesResult]: +def get_management_zones_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetManagementZonesResult]: """ The management zones data source allows retrieval of all management zones. @@ -143,7 +143,7 @@ def get_management_zones_output(opts: Optional[pulumi.InvokeOptions] = None) -> ``` """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getManagementZones:getManagementZones', __args__, opts=opts, typ=GetManagementZonesResult) return __ret__.apply(lambda __response__: GetManagementZonesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_mobile_application.py b/sdk/python/pulumiverse_dynatrace/get_mobile_application.py index cc768af0..f3193cff 100644 --- a/sdk/python/pulumiverse_dynatrace/get_mobile_application.py +++ b/sdk/python/pulumiverse_dynatrace/get_mobile_application.py @@ -84,7 +84,7 @@ def get_mobile_application(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_mobile_application_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMobileApplicationResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMobileApplicationResult]: """ The `MobileApplication` data source allows the mobile application ID to be retrieved by its name. @@ -102,7 +102,7 @@ def get_mobile_application_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getMobileApplication:getMobileApplication', __args__, opts=opts, typ=GetMobileApplicationResult) return __ret__.apply(lambda __response__: GetMobileApplicationResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_process.py b/sdk/python/pulumiverse_dynatrace/get_process.py index 824b751d..75ed3c4a 100644 --- a/sdk/python/pulumiverse_dynatrace/get_process.py +++ b/sdk/python/pulumiverse_dynatrace/get_process.py @@ -116,7 +116,7 @@ def get_process(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_process_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProcessResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProcessResult]: """ !> The data source API endpoint has been deprecated, please use get_entity with entity type `PROCESS_GROUP_INSTANCE` instead. @@ -151,7 +151,7 @@ def get_process_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getProcess:getProcess', __args__, opts=opts, typ=GetProcessResult) return __ret__.apply(lambda __response__: GetProcessResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_process_group.py b/sdk/python/pulumiverse_dynatrace/get_process_group.py index 09861b6b..0ddcf2c0 100644 --- a/sdk/python/pulumiverse_dynatrace/get_process_group.py +++ b/sdk/python/pulumiverse_dynatrace/get_process_group.py @@ -116,7 +116,7 @@ def get_process_group(name: Optional[str] = None, tags=pulumi.get(__ret__, 'tags')) def get_process_group_output(name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProcessGroupResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProcessGroupResult]: """ !> The data source API endpoint has been deprecated, please use get_entity with entity type `PROCESS_GROUP` instead. @@ -151,7 +151,7 @@ def get_process_group_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['tags'] = tags - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getProcessGroup:getProcessGroup', __args__, opts=opts, typ=GetProcessGroupResult) return __ret__.apply(lambda __response__: GetProcessGroupResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_remote_environments.py b/sdk/python/pulumiverse_dynatrace/get_remote_environments.py index d35bab54..ca89225a 100644 --- a/sdk/python/pulumiverse_dynatrace/get_remote_environments.py +++ b/sdk/python/pulumiverse_dynatrace/get_remote_environments.py @@ -80,7 +80,7 @@ def get_remote_environments(opts: Optional[pulumi.InvokeOptions] = None) -> Awai return AwaitableGetRemoteEnvironmentsResult( id=pulumi.get(__ret__, 'id'), remote_environments=pulumi.get(__ret__, 'remote_environments')) -def get_remote_environments_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRemoteEnvironmentsResult]: +def get_remote_environments_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRemoteEnvironmentsResult]: """ The remote environments data source allows retrieval of all remote environments. @@ -95,7 +95,7 @@ def get_remote_environments_output(opts: Optional[pulumi.InvokeOptions] = None) ``` """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getRemoteEnvironments:getRemoteEnvironments', __args__, opts=opts, typ=GetRemoteEnvironmentsResult) return __ret__.apply(lambda __response__: GetRemoteEnvironmentsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_request_attribute.py b/sdk/python/pulumiverse_dynatrace/get_request_attribute.py index 4e37f751..2c784630 100644 --- a/sdk/python/pulumiverse_dynatrace/get_request_attribute.py +++ b/sdk/python/pulumiverse_dynatrace/get_request_attribute.py @@ -84,7 +84,7 @@ def get_request_attribute(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_request_attribute_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRequestAttributeResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRequestAttributeResult]: """ The `RequestAttribute` data source allows the request attribute ID to be retrieved by its name. @@ -102,7 +102,7 @@ def get_request_attribute_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getRequestAttribute:getRequestAttribute', __args__, opts=opts, typ=GetRequestAttributeResult) return __ret__.apply(lambda __response__: GetRequestAttributeResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_request_naming.py b/sdk/python/pulumiverse_dynatrace/get_request_naming.py index 473c229a..2f9564cf 100644 --- a/sdk/python/pulumiverse_dynatrace/get_request_naming.py +++ b/sdk/python/pulumiverse_dynatrace/get_request_naming.py @@ -86,7 +86,7 @@ def get_request_naming(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_request_naming_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRequestNamingResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRequestNamingResult]: """ The `RequestNaming` data source allows the request naming rule ID to be retrieved by its name. @@ -106,7 +106,7 @@ def get_request_naming_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getRequestNaming:getRequestNaming', __args__, opts=opts, typ=GetRequestNamingResult) return __ret__.apply(lambda __response__: GetRequestNamingResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_service.py b/sdk/python/pulumiverse_dynatrace/get_service.py index 680177a5..7c74c4e3 100644 --- a/sdk/python/pulumiverse_dynatrace/get_service.py +++ b/sdk/python/pulumiverse_dynatrace/get_service.py @@ -126,7 +126,7 @@ def get_service(name: Optional[str] = None, def get_service_output(name: Optional[pulumi.Input[str]] = None, operator: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: """ !> The data source API endpoint has been deprecated, please use get_entity with entity type `SERVICE` instead. @@ -159,7 +159,7 @@ def get_service_output(name: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['operator'] = operator __args__['tags'] = tags - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getService:getService', __args__, opts=opts, typ=GetServiceResult) return __ret__.apply(lambda __response__: GetServiceResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_slo.py b/sdk/python/pulumiverse_dynatrace/get_slo.py index 6bf5e2c7..65d21d95 100644 --- a/sdk/python/pulumiverse_dynatrace/get_slo.py +++ b/sdk/python/pulumiverse_dynatrace/get_slo.py @@ -242,7 +242,7 @@ def get_slo(name: Optional[str] = None, target_success=pulumi.get(__ret__, 'target_success'), target_warning=pulumi.get(__ret__, 'target_warning')) def get_slo_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSloResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSloResult]: """ The `Slo` data source allows the SLO ID to be retrieved by its name. @@ -262,7 +262,7 @@ def get_slo_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getSlo:getSlo', __args__, opts=opts, typ=GetSloResult) return __ret__.apply(lambda __response__: GetSloResult( burn_rate_visualization_enabled=pulumi.get(__response__, 'burn_rate_visualization_enabled'), diff --git a/sdk/python/pulumiverse_dynatrace/get_synthetic_location.py b/sdk/python/pulumiverse_dynatrace/get_synthetic_location.py index e11f89e5..b899ef72 100644 --- a/sdk/python/pulumiverse_dynatrace/get_synthetic_location.py +++ b/sdk/python/pulumiverse_dynatrace/get_synthetic_location.py @@ -156,7 +156,7 @@ def get_synthetic_location_output(cloud_platform: Optional[pulumi.Input[Optional stage: Optional[pulumi.Input[Optional[str]]] = None, status: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSyntheticLocationResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSyntheticLocationResult]: """ The synthetic location data source allows the location ID to be retrieved based off of provided parameters. @@ -171,7 +171,7 @@ def get_synthetic_location_output(cloud_platform: Optional[pulumi.Input[Optional __args__['stage'] = stage __args__['status'] = status __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getSyntheticLocation:getSyntheticLocation', __args__, opts=opts, typ=GetSyntheticLocationResult) return __ret__.apply(lambda __response__: GetSyntheticLocationResult( cloud_platform=pulumi.get(__response__, 'cloud_platform'), diff --git a/sdk/python/pulumiverse_dynatrace/get_synthetic_locations.py b/sdk/python/pulumiverse_dynatrace/get_synthetic_locations.py index 2719ae75..3245ce7b 100644 --- a/sdk/python/pulumiverse_dynatrace/get_synthetic_locations.py +++ b/sdk/python/pulumiverse_dynatrace/get_synthetic_locations.py @@ -135,7 +135,7 @@ def get_synthetic_locations(id: Optional[str] = None, def get_synthetic_locations_output(id: Optional[pulumi.Input[Optional[str]]] = None, locations: Optional[pulumi.Input[Optional[Union['GetSyntheticLocationsLocationsArgs', 'GetSyntheticLocationsLocationsArgsDict']]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSyntheticLocationsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSyntheticLocationsResult]: """ The synthetic locations data source allows the location IDs to be retrieved based off of provided parameters. @@ -188,7 +188,7 @@ def get_synthetic_locations_output(id: Optional[pulumi.Input[Optional[str]]] = N __args__['id'] = id __args__['locations'] = locations __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getSyntheticLocations:getSyntheticLocations', __args__, opts=opts, typ=GetSyntheticLocationsResult) return __ret__.apply(lambda __response__: GetSyntheticLocationsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_synthetic_nodes.py b/sdk/python/pulumiverse_dynatrace/get_synthetic_nodes.py index 546e146b..a07b1538 100644 --- a/sdk/python/pulumiverse_dynatrace/get_synthetic_nodes.py +++ b/sdk/python/pulumiverse_dynatrace/get_synthetic_nodes.py @@ -70,12 +70,12 @@ def get_synthetic_nodes(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitabl return AwaitableGetSyntheticNodesResult( id=pulumi.get(__ret__, 'id'), nodes=pulumi.get(__ret__, 'nodes')) -def get_synthetic_nodes_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSyntheticNodesResult]: +def get_synthetic_nodes_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSyntheticNodesResult]: """ The synthetic locations data source queries for all available Synthetic Nodes. The data source doesn't need to get configured. It always provides the full list of synthetic nodes. """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getSyntheticNodes:getSyntheticNodes', __args__, opts=opts, typ=GetSyntheticNodesResult) return __ret__.apply(lambda __response__: GetSyntheticNodesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_tenant.py b/sdk/python/pulumiverse_dynatrace/get_tenant.py index 57d6d820..9e8d9213 100644 --- a/sdk/python/pulumiverse_dynatrace/get_tenant.py +++ b/sdk/python/pulumiverse_dynatrace/get_tenant.py @@ -70,13 +70,13 @@ def get_tenant(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTenan return AwaitableGetTenantResult( id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) -def get_tenant_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTenantResult]: +def get_tenant_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTenantResult]: """ The data source `get_tenant` evalutes the configured Environment URL (either the environment variable `DYNATRACE_ENV_URL` or the configuration attribute `dt_env_url`) and extracts out the name/id of the environment this provider addresses. Main purpose is for migrating settings from one environment to another, but it can be used to in general to avoid hard coding the environment ID like in the example below. """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getTenant:getTenant', __args__, opts=opts, typ=GetTenantResult) return __ret__.apply(lambda __response__: GetTenantResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_update_windows.py b/sdk/python/pulumiverse_dynatrace/get_update_windows.py index 80b89717..108b2a40 100644 --- a/sdk/python/pulumiverse_dynatrace/get_update_windows.py +++ b/sdk/python/pulumiverse_dynatrace/get_update_windows.py @@ -84,7 +84,7 @@ def get_update_windows(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_update_windows_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUpdateWindowsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetUpdateWindowsResult]: """ The `UpdateWindows` data source allows the OneAgent update maintenance window ID to be retrieved by its name. @@ -102,7 +102,7 @@ def get_update_windows_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getUpdateWindows:getUpdateWindows', __args__, opts=opts, typ=GetUpdateWindowsResult) return __ret__.apply(lambda __response__: GetUpdateWindowsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/get_vulnerability_alerting.py b/sdk/python/pulumiverse_dynatrace/get_vulnerability_alerting.py index 23d7b201..dbdacd3a 100644 --- a/sdk/python/pulumiverse_dynatrace/get_vulnerability_alerting.py +++ b/sdk/python/pulumiverse_dynatrace/get_vulnerability_alerting.py @@ -86,7 +86,7 @@ def get_vulnerability_alerting(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_vulnerability_alerting_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVulnerabilityAlertingResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVulnerabilityAlertingResult]: """ The `VulnerabilityAlerting` data source allows the vulnerability alerting profile ID to be retrieved by its name. @@ -106,7 +106,7 @@ def get_vulnerability_alerting_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('dynatrace:index/getVulnerabilityAlerting:getVulnerabilityAlerting', __args__, opts=opts, typ=GetVulnerabilityAlertingResult) return __ret__.apply(lambda __response__: GetVulnerabilityAlertingResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_dynatrace/gitlab_connection.py b/sdk/python/pulumiverse_dynatrace/gitlab_connection.py new file mode 100644 index 00000000..0af20f75 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/gitlab_connection.py @@ -0,0 +1,246 @@ +# 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__ = ['GitlabConnectionArgs', 'GitlabConnection'] + +@pulumi.input_type +class GitlabConnectionArgs: + def __init__(__self__, *, + token: pulumi.Input[str], + url: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a GitlabConnection resource. + :param pulumi.Input[str] token: The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] url: The GitLab URL instance you want to connect. For example, https://gitlab.com + :param pulumi.Input[str] name: A unique and clearly identifiable connection name to your GitLab instance. + """ + pulumi.set(__self__, "token", token) + pulumi.set(__self__, "url", url) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def token(self) -> pulumi.Input[str]: + """ + The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[str]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + The GitLab URL instance you want to connect. For example, https://gitlab.com + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name to your GitLab instance. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _GitlabConnectionState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering GitlabConnection resources. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name to your GitLab instance. + :param pulumi.Input[str] token: The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] url: The GitLab URL instance you want to connect. For example, https://gitlab.com + """ + if name is not None: + pulumi.set(__self__, "name", name) + if token is not None: + pulumi.set(__self__, "token", token) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name to your GitLab instance. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + The GitLab URL instance you want to connect. For example, https://gitlab.com + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class GitlabConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a GitlabConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name to your GitLab instance. + :param pulumi.Input[str] token: The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] url: The GitLab URL instance you want to connect. For example, https://gitlab.com + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GitlabConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a GitlabConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param GitlabConnectionArgs 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(GitlabConnectionArgs, 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, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: 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__ = GitlabConnectionArgs.__new__(GitlabConnectionArgs) + + __props__.__dict__["name"] = name + if token is None and not opts.urn: + raise TypeError("Missing required property 'token'") + __props__.__dict__["token"] = None if token is None else pulumi.Output.secret(token) + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(GitlabConnection, __self__).__init__( + 'dynatrace:index/gitlabConnection:GitlabConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'GitlabConnection': + """ + Get an existing GitlabConnection 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] name: A unique and clearly identifiable connection name to your GitLab instance. + :param pulumi.Input[str] token: The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + :param pulumi.Input[str] url: The GitLab URL instance you want to connect. For example, https://gitlab.com + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _GitlabConnectionState.__new__(_GitlabConnectionState) + + __props__.__dict__["name"] = name + __props__.__dict__["token"] = token + __props__.__dict__["url"] = url + return GitlabConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A unique and clearly identifiable connection name to your GitLab instance. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[str]: + """ + The GitLab token to use for authentication. Please note that this token is not refreshed and can expire. + """ + return pulumi.get(self, "token") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + The GitLab URL instance you want to connect. For example, https://gitlab.com + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumiverse_dynatrace/infraops_app_settings.py b/sdk/python/pulumiverse_dynatrace/infraops_app_settings.py index e9c85f49..79d82c74 100644 --- a/sdk/python/pulumiverse_dynatrace/infraops_app_settings.py +++ b/sdk/python/pulumiverse_dynatrace/infraops_app_settings.py @@ -20,14 +20,18 @@ class InfraopsAppSettingsArgs: def __init__(__self__, *, show_monitoring_candidates: pulumi.Input[bool], - show_standalone_hosts: pulumi.Input[bool]): + show_standalone_hosts: pulumi.Input[bool], + interface_saturation_threshold: Optional[pulumi.Input[float]] = None): """ The set of arguments for constructing a InfraopsAppSettings resource. :param pulumi.Input[bool] show_monitoring_candidates: When set to true, the app will display monitoring candidates in the Hosts table :param pulumi.Input[bool] show_standalone_hosts: When set to true, the app will display app only hosts in the Hosts table + :param pulumi.Input[float] interface_saturation_threshold: (Required v305+) The threshold at which a network device interface is deemed to be saturated. """ pulumi.set(__self__, "show_monitoring_candidates", show_monitoring_candidates) pulumi.set(__self__, "show_standalone_hosts", show_standalone_hosts) + if interface_saturation_threshold is not None: + pulumi.set(__self__, "interface_saturation_threshold", interface_saturation_threshold) @property @pulumi.getter(name="showMonitoringCandidates") @@ -53,22 +57,50 @@ def show_standalone_hosts(self) -> pulumi.Input[bool]: def show_standalone_hosts(self, value: pulumi.Input[bool]): pulumi.set(self, "show_standalone_hosts", value) + @property + @pulumi.getter(name="interfaceSaturationThreshold") + def interface_saturation_threshold(self) -> Optional[pulumi.Input[float]]: + """ + (Required v305+) The threshold at which a network device interface is deemed to be saturated. + """ + return pulumi.get(self, "interface_saturation_threshold") + + @interface_saturation_threshold.setter + def interface_saturation_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "interface_saturation_threshold", value) + @pulumi.input_type class _InfraopsAppSettingsState: def __init__(__self__, *, + interface_saturation_threshold: Optional[pulumi.Input[float]] = None, show_monitoring_candidates: Optional[pulumi.Input[bool]] = None, show_standalone_hosts: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering InfraopsAppSettings resources. + :param pulumi.Input[float] interface_saturation_threshold: (Required v305+) The threshold at which a network device interface is deemed to be saturated. :param pulumi.Input[bool] show_monitoring_candidates: When set to true, the app will display monitoring candidates in the Hosts table :param pulumi.Input[bool] show_standalone_hosts: When set to true, the app will display app only hosts in the Hosts table """ + if interface_saturation_threshold is not None: + pulumi.set(__self__, "interface_saturation_threshold", interface_saturation_threshold) if show_monitoring_candidates is not None: pulumi.set(__self__, "show_monitoring_candidates", show_monitoring_candidates) if show_standalone_hosts is not None: pulumi.set(__self__, "show_standalone_hosts", show_standalone_hosts) + @property + @pulumi.getter(name="interfaceSaturationThreshold") + def interface_saturation_threshold(self) -> Optional[pulumi.Input[float]]: + """ + (Required v305+) The threshold at which a network device interface is deemed to be saturated. + """ + return pulumi.get(self, "interface_saturation_threshold") + + @interface_saturation_threshold.setter + def interface_saturation_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "interface_saturation_threshold", value) + @property @pulumi.getter(name="showMonitoringCandidates") def show_monitoring_candidates(self) -> Optional[pulumi.Input[bool]]: @@ -99,6 +131,7 @@ class InfraopsAppSettings(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + interface_saturation_threshold: Optional[pulumi.Input[float]] = None, show_monitoring_candidates: Optional[pulumi.Input[bool]] = None, show_standalone_hosts: Optional[pulumi.Input[bool]] = None, __props__=None): @@ -106,6 +139,7 @@ def __init__(__self__, Create a InfraopsAppSettings resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[float] interface_saturation_threshold: (Required v305+) The threshold at which a network device interface is deemed to be saturated. :param pulumi.Input[bool] show_monitoring_candidates: When set to true, the app will display monitoring candidates in the Hosts table :param pulumi.Input[bool] show_standalone_hosts: When set to true, the app will display app only hosts in the Hosts table """ @@ -132,6 +166,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + interface_saturation_threshold: Optional[pulumi.Input[float]] = None, show_monitoring_candidates: Optional[pulumi.Input[bool]] = None, show_standalone_hosts: Optional[pulumi.Input[bool]] = None, __props__=None): @@ -143,6 +178,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = InfraopsAppSettingsArgs.__new__(InfraopsAppSettingsArgs) + __props__.__dict__["interface_saturation_threshold"] = interface_saturation_threshold if show_monitoring_candidates is None and not opts.urn: raise TypeError("Missing required property 'show_monitoring_candidates'") __props__.__dict__["show_monitoring_candidates"] = show_monitoring_candidates @@ -159,6 +195,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + interface_saturation_threshold: Optional[pulumi.Input[float]] = None, show_monitoring_candidates: Optional[pulumi.Input[bool]] = None, show_standalone_hosts: Optional[pulumi.Input[bool]] = None) -> 'InfraopsAppSettings': """ @@ -168,6 +205,7 @@ def get(resource_name: str, :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[float] interface_saturation_threshold: (Required v305+) The threshold at which a network device interface is deemed to be saturated. :param pulumi.Input[bool] show_monitoring_candidates: When set to true, the app will display monitoring candidates in the Hosts table :param pulumi.Input[bool] show_standalone_hosts: When set to true, the app will display app only hosts in the Hosts table """ @@ -175,10 +213,19 @@ def get(resource_name: str, __props__ = _InfraopsAppSettingsState.__new__(_InfraopsAppSettingsState) + __props__.__dict__["interface_saturation_threshold"] = interface_saturation_threshold __props__.__dict__["show_monitoring_candidates"] = show_monitoring_candidates __props__.__dict__["show_standalone_hosts"] = show_standalone_hosts return InfraopsAppSettings(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="interfaceSaturationThreshold") + def interface_saturation_threshold(self) -> pulumi.Output[Optional[float]]: + """ + (Required v305+) The threshold at which a network device interface is deemed to be saturated. + """ + return pulumi.get(self, "interface_saturation_threshold") + @property @pulumi.getter(name="showMonitoringCandidates") def show_monitoring_candidates(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumiverse_dynatrace/jenkins_connection.py b/sdk/python/pulumiverse_dynatrace/jenkins_connection.py new file mode 100644 index 00000000..3bbb51b0 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/jenkins_connection.py @@ -0,0 +1,294 @@ +# 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__ = ['JenkinsConnectionArgs', 'JenkinsConnection'] + +@pulumi.input_type +class JenkinsConnectionArgs: + def __init__(__self__, *, + password: pulumi.Input[str], + url: pulumi.Input[str], + username: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a JenkinsConnection resource. + :param pulumi.Input[str] password: The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + :param pulumi.Input[str] url: Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + :param pulumi.Input[str] username: The name of your Jenkins user (e.g. jenkins) + :param pulumi.Input[str] name: The name of the Jenkins connection + """ + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "url", url) + pulumi.set(__self__, "username", username) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def password(self) -> pulumi.Input[str]: + """ + The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: pulumi.Input[str]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def username(self) -> pulumi.Input[str]: + """ + The name of your Jenkins user (e.g. jenkins) + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: pulumi.Input[str]): + pulumi.set(self, "username", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Jenkins connection + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _JenkinsConnectionState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering JenkinsConnection resources. + :param pulumi.Input[str] name: The name of the Jenkins connection + :param pulumi.Input[str] password: The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + :param pulumi.Input[str] url: Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + :param pulumi.Input[str] username: The name of your Jenkins user (e.g. jenkins) + """ + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if url is not None: + pulumi.set(__self__, "url", url) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Jenkins connection + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + The name of your Jenkins user (e.g. jenkins) + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +class JenkinsConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a JenkinsConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the Jenkins connection + :param pulumi.Input[str] password: The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + :param pulumi.Input[str] url: Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + :param pulumi.Input[str] username: The name of your Jenkins user (e.g. jenkins) + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: JenkinsConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a JenkinsConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param JenkinsConnectionArgs 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(JenkinsConnectionArgs, 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, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: 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__ = JenkinsConnectionArgs.__new__(JenkinsConnectionArgs) + + __props__.__dict__["name"] = name + if password is None and not opts.urn: + raise TypeError("Missing required property 'password'") + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + if username is None and not opts.urn: + raise TypeError("Missing required property 'username'") + __props__.__dict__["username"] = username + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(JenkinsConnection, __self__).__init__( + 'dynatrace:index/jenkinsConnection:JenkinsConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None) -> 'JenkinsConnection': + """ + Get an existing JenkinsConnection 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] name: The name of the Jenkins connection + :param pulumi.Input[str] password: The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + :param pulumi.Input[str] url: Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + :param pulumi.Input[str] username: The name of your Jenkins user (e.g. jenkins) + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _JenkinsConnectionState.__new__(_JenkinsConnectionState) + + __props__.__dict__["name"] = name + __props__.__dict__["password"] = password + __props__.__dict__["url"] = url + __props__.__dict__["username"] = username + return JenkinsConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the Jenkins connection + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[str]: + """ + The password of the user or API token obtained from the Jenkins UI (Dashboard > User > Configure > API Token) + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Base URL of your Jenkins instance (e.g. https://[YOUR*JENKINS*DOMAIN]/) + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter + def username(self) -> pulumi.Output[str]: + """ + The name of your Jenkins user (e.g. jenkins) + """ + return pulumi.get(self, "username") + diff --git a/sdk/python/pulumiverse_dynatrace/log_custom_attribute.py b/sdk/python/pulumiverse_dynatrace/log_custom_attribute.py index 8d05afe4..8017176d 100644 --- a/sdk/python/pulumiverse_dynatrace/log_custom_attribute.py +++ b/sdk/python/pulumiverse_dynatrace/log_custom_attribute.py @@ -23,7 +23,7 @@ def __init__(__self__, *, sidebar: pulumi.Input[bool]): """ The set of arguments for constructing a LogCustomAttribute resource. - :param pulumi.Input[str] key: The attribute key is case insensitive in log data ingestion. + :param pulumi.Input[str] key: The attribute key is case sensitive in log data ingestion. :param pulumi.Input[bool] sidebar: Show attribute values in side bar """ pulumi.set(__self__, "key", key) @@ -33,7 +33,7 @@ def __init__(__self__, *, @pulumi.getter def key(self) -> pulumi.Input[str]: """ - The attribute key is case insensitive in log data ingestion. + The attribute key is case sensitive in log data ingestion. """ return pulumi.get(self, "key") @@ -61,7 +61,7 @@ def __init__(__self__, *, sidebar: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering LogCustomAttribute resources. - :param pulumi.Input[str] key: The attribute key is case insensitive in log data ingestion. + :param pulumi.Input[str] key: The attribute key is case sensitive in log data ingestion. :param pulumi.Input[bool] sidebar: Show attribute values in side bar """ if key is not None: @@ -73,7 +73,7 @@ def __init__(__self__, *, @pulumi.getter def key(self) -> Optional[pulumi.Input[str]]: """ - The attribute key is case insensitive in log data ingestion. + The attribute key is case sensitive in log data ingestion. """ return pulumi.get(self, "key") @@ -106,7 +106,7 @@ def __init__(__self__, Create a LogCustomAttribute resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] key: The attribute key is case insensitive in log data ingestion. + :param pulumi.Input[str] key: The attribute key is case sensitive in log data ingestion. :param pulumi.Input[bool] sidebar: Show attribute values in side bar """ ... @@ -168,7 +168,7 @@ def get(resource_name: str, :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] key: The attribute key is case insensitive in log data ingestion. + :param pulumi.Input[str] key: The attribute key is case sensitive in log data ingestion. :param pulumi.Input[bool] sidebar: Show attribute values in side bar """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -183,7 +183,7 @@ def get(resource_name: str, @pulumi.getter def key(self) -> pulumi.Output[str]: """ - The attribute key is case insensitive in log data ingestion. + The attribute key is case sensitive in log data ingestion. """ return pulumi.get(self, "key") diff --git a/sdk/python/pulumiverse_dynatrace/msentraid_connection.py b/sdk/python/pulumiverse_dynatrace/msentraid_connection.py new file mode 100644 index 00000000..1e46cced --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/msentraid_connection.py @@ -0,0 +1,341 @@ +# 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__ = ['MsentraidConnectionArgs', 'MsentraidConnection'] + +@pulumi.input_type +class MsentraidConnectionArgs: + def __init__(__self__, *, + application_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + directory_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MsentraidConnection resource. + :param pulumi.Input[str] application_id: Application (client) ID of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] client_secret: Client secret of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] directory_id: Directory (tenant) ID of Microsoft Entra Identity Developer + :param pulumi.Input[str] description: Description + :param pulumi.Input[str] name: The name of the Microsoft Entra Identity Developer connection + """ + pulumi.set(__self__, "application_id", application_id) + pulumi.set(__self__, "client_secret", client_secret) + pulumi.set(__self__, "directory_id", directory_id) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Input[str]: + """ + Application (client) ID of your app registered in Microsoft Azure App registrations + """ + return pulumi.get(self, "application_id") + + @application_id.setter + def application_id(self, value: pulumi.Input[str]): + pulumi.set(self, "application_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + Client secret of your app registered in Microsoft Azure App registrations + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="directoryId") + def directory_id(self) -> pulumi.Input[str]: + """ + Directory (tenant) ID of Microsoft Entra Identity Developer + """ + return pulumi.get(self, "directory_id") + + @directory_id.setter + def directory_id(self, value: pulumi.Input[str]): + pulumi.set(self, "directory_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Microsoft Entra Identity Developer connection + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _MsentraidConnectionState: + def __init__(__self__, *, + application_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + directory_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering MsentraidConnection resources. + :param pulumi.Input[str] application_id: Application (client) ID of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] client_secret: Client secret of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] description: Description + :param pulumi.Input[str] directory_id: Directory (tenant) ID of Microsoft Entra Identity Developer + :param pulumi.Input[str] name: The name of the Microsoft Entra Identity Developer connection + """ + if application_id is not None: + pulumi.set(__self__, "application_id", application_id) + if client_secret is not None: + pulumi.set(__self__, "client_secret", client_secret) + if description is not None: + pulumi.set(__self__, "description", description) + if directory_id is not None: + pulumi.set(__self__, "directory_id", directory_id) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> Optional[pulumi.Input[str]]: + """ + Application (client) ID of your app registered in Microsoft Azure App registrations + """ + return pulumi.get(self, "application_id") + + @application_id.setter + def application_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + Client secret of your app registered in Microsoft Azure App registrations + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="directoryId") + def directory_id(self) -> Optional[pulumi.Input[str]]: + """ + Directory (tenant) ID of Microsoft Entra Identity Developer + """ + return pulumi.get(self, "directory_id") + + @directory_id.setter + def directory_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "directory_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Microsoft Entra Identity Developer connection + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class MsentraidConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + directory_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a MsentraidConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application_id: Application (client) ID of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] client_secret: Client secret of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] description: Description + :param pulumi.Input[str] directory_id: Directory (tenant) ID of Microsoft Entra Identity Developer + :param pulumi.Input[str] name: The name of the Microsoft Entra Identity Developer connection + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MsentraidConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a MsentraidConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param MsentraidConnectionArgs 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(MsentraidConnectionArgs, 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, + application_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + directory_id: Optional[pulumi.Input[str]] = None, + 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__ = MsentraidConnectionArgs.__new__(MsentraidConnectionArgs) + + if application_id is None and not opts.urn: + raise TypeError("Missing required property 'application_id'") + __props__.__dict__["application_id"] = None if application_id is None else pulumi.Output.secret(application_id) + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) + __props__.__dict__["description"] = description + if directory_id is None and not opts.urn: + raise TypeError("Missing required property 'directory_id'") + __props__.__dict__["directory_id"] = None if directory_id is None else pulumi.Output.secret(directory_id) + __props__.__dict__["name"] = name + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["applicationId", "clientSecret", "directoryId"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(MsentraidConnection, __self__).__init__( + 'dynatrace:index/msentraidConnection:MsentraidConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + application_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + directory_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'MsentraidConnection': + """ + Get an existing MsentraidConnection 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] application_id: Application (client) ID of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] client_secret: Client secret of your app registered in Microsoft Azure App registrations + :param pulumi.Input[str] description: Description + :param pulumi.Input[str] directory_id: Directory (tenant) ID of Microsoft Entra Identity Developer + :param pulumi.Input[str] name: The name of the Microsoft Entra Identity Developer connection + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MsentraidConnectionState.__new__(_MsentraidConnectionState) + + __props__.__dict__["application_id"] = application_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["description"] = description + __props__.__dict__["directory_id"] = directory_id + __props__.__dict__["name"] = name + return MsentraidConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Output[str]: + """ + Application (client) ID of your app registered in Microsoft Azure App registrations + """ + return pulumi.get(self, "application_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + Client secret of your app registered in Microsoft Azure App registrations + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="directoryId") + def directory_id(self) -> pulumi.Output[str]: + """ + Directory (tenant) ID of Microsoft Entra Identity Developer + """ + return pulumi.get(self, "directory_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the Microsoft Entra Identity Developer connection + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumiverse_dynatrace/msteams_connection.py b/sdk/python/pulumiverse_dynatrace/msteams_connection.py new file mode 100644 index 00000000..c6051f67 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/msteams_connection.py @@ -0,0 +1,292 @@ +# 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__ = ['MsteamsConnectionArgs', 'MsteamsConnection'] + +@pulumi.input_type +class MsteamsConnectionArgs: + def __init__(__self__, *, + webhook: pulumi.Input[str], + channel_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + team_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MsteamsConnection resource. + :param pulumi.Input[str] webhook: The Webhook URL that links to the channel + :param pulumi.Input[str] channel_name: Optional + :param pulumi.Input[str] name: The name of the Microsoft Teams connection + :param pulumi.Input[str] team_name: Optional + """ + pulumi.set(__self__, "webhook", webhook) + 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) + + @property + @pulumi.getter + def webhook(self) -> pulumi.Input[str]: + """ + The Webhook URL that links to the channel + """ + return pulumi.get(self, "webhook") + + @webhook.setter + def webhook(self, value: pulumi.Input[str]): + pulumi.set(self, "webhook", value) + + @property + @pulumi.getter(name="channelName") + def channel_name(self) -> Optional[pulumi.Input[str]]: + """ + Optional + """ + 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]]: + """ + The name of the Microsoft Teams connection + """ + 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]]: + """ + Optional + """ + return pulumi.get(self, "team_name") + + @team_name.setter + def team_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "team_name", value) + + +@pulumi.input_type +class _MsteamsConnectionState: + def __init__(__self__, *, + channel_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + team_name: Optional[pulumi.Input[str]] = None, + webhook: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering MsteamsConnection resources. + :param pulumi.Input[str] channel_name: Optional + :param pulumi.Input[str] name: The name of the Microsoft Teams connection + :param pulumi.Input[str] team_name: Optional + :param pulumi.Input[str] webhook: The Webhook URL that links to the channel + """ + 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 webhook is not None: + pulumi.set(__self__, "webhook", webhook) + + @property + @pulumi.getter(name="channelName") + def channel_name(self) -> Optional[pulumi.Input[str]]: + """ + Optional + """ + 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]]: + """ + The name of the Microsoft Teams connection + """ + 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]]: + """ + Optional + """ + 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 + def webhook(self) -> Optional[pulumi.Input[str]]: + """ + The Webhook URL that links to the channel + """ + return pulumi.get(self, "webhook") + + @webhook.setter + def webhook(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "webhook", value) + + +class MsteamsConnection(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, + webhook: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a MsteamsConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] channel_name: Optional + :param pulumi.Input[str] name: The name of the Microsoft Teams connection + :param pulumi.Input[str] team_name: Optional + :param pulumi.Input[str] webhook: The Webhook URL that links to the channel + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MsteamsConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a MsteamsConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param MsteamsConnectionArgs 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(MsteamsConnectionArgs, 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, + webhook: 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__ = MsteamsConnectionArgs.__new__(MsteamsConnectionArgs) + + __props__.__dict__["channel_name"] = channel_name + __props__.__dict__["name"] = name + __props__.__dict__["team_name"] = team_name + if webhook is None and not opts.urn: + raise TypeError("Missing required property 'webhook'") + __props__.__dict__["webhook"] = None if webhook is None else pulumi.Output.secret(webhook) + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["webhook"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(MsteamsConnection, __self__).__init__( + 'dynatrace:index/msteamsConnection:MsteamsConnection', + 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, + webhook: Optional[pulumi.Input[str]] = None) -> 'MsteamsConnection': + """ + Get an existing MsteamsConnection 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: Optional + :param pulumi.Input[str] name: The name of the Microsoft Teams connection + :param pulumi.Input[str] team_name: Optional + :param pulumi.Input[str] webhook: The Webhook URL that links to the channel + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MsteamsConnectionState.__new__(_MsteamsConnectionState) + + __props__.__dict__["channel_name"] = channel_name + __props__.__dict__["name"] = name + __props__.__dict__["team_name"] = team_name + __props__.__dict__["webhook"] = webhook + return MsteamsConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="channelName") + def channel_name(self) -> pulumi.Output[Optional[str]]: + """ + Optional + """ + return pulumi.get(self, "channel_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the Microsoft Teams connection + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="teamName") + def team_name(self) -> pulumi.Output[Optional[str]]: + """ + Optional + """ + return pulumi.get(self, "team_name") + + @property + @pulumi.getter + def webhook(self) -> pulumi.Output[str]: + """ + The Webhook URL that links to the channel + """ + return pulumi.get(self, "webhook") + diff --git a/sdk/python/pulumiverse_dynatrace/outputs.py b/sdk/python/pulumiverse_dynatrace/outputs.py index 4925794d..88760eb4 100644 --- a/sdk/python/pulumiverse_dynatrace/outputs.py +++ b/sdk/python/pulumiverse_dynatrace/outputs.py @@ -546,6 +546,8 @@ 'DeclarativeGroupingDetectionProcessDefinition', 'DeclarativeGroupingDetectionProcessDefinitionRules', 'DeclarativeGroupingDetectionProcessDefinitionRulesRule', + 'DefaultLaunchpadGroupLaunchpads', + 'DefaultLaunchpadGroupLaunchpadsGroupLaunchpad', 'DirectSharesRecipients', 'DirectSharesRecipientsRecipient', 'DiscoveryDefaultRulesRule', @@ -1808,6 +1810,9 @@ 'GetEntitiesEntityTagResult', 'GetEntitiesEntityTagTagResult', 'GetGenericSettingsValueResult', + 'GetGeoCitiesCityResult', + 'GetGeoCountriesCountryResult', + 'GetGeoRegionsRegionResult', 'GetHubItemsItemResult', 'GetIamPoliciesPolicyResult', 'GetManagementZonesValueResult', @@ -23060,6 +23065,8 @@ def __key_warning(key: str): suggest = "delimiter_or_regex" elif key == "endDelimiter": suggest = "end_delimiter" + elif key == "oneagentAttributeKey": + suggest = "oneagent_attribute_key" elif key == "requestAttribute": suggest = "request_attribute" elif key == "useFromChildCalls": @@ -23084,6 +23091,7 @@ def __init__(__self__, *, delimiter_or_regex: Optional[str] = None, end_delimiter: Optional[str] = None, normalization: Optional[str] = None, + oneagent_attribute_key: Optional[str] = None, request_attribute: Optional[str] = None, source: Optional['outputs.CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderSource'] = None, unknowns: Optional[str] = None, @@ -23105,6 +23113,7 @@ def __init__(__self__, *, * All other values: The delimiter string to look for :param str end_delimiter: The closing delimiter string to look for. Required if the `kind` value is `BETWEEN_DELIMITER`. Not applicable otherwise :param str normalization: The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` + :param str oneagent_attribute_key: The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. :param str request_attribute: The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise :param 'CalculatedServiceMetricDimensionDefinitionPlaceholdersPlaceholderSourceArgs' source: Defines valid sources of request attributes for conditions or placeholders :param str unknowns: allows for configuring properties that are not explicitly supported by the current version of this provider @@ -23121,6 +23130,8 @@ def __init__(__self__, *, pulumi.set(__self__, "end_delimiter", end_delimiter) if normalization is not None: pulumi.set(__self__, "normalization", normalization) + if oneagent_attribute_key is not None: + pulumi.set(__self__, "oneagent_attribute_key", oneagent_attribute_key) if request_attribute is not None: pulumi.set(__self__, "request_attribute", request_attribute) if source is not None: @@ -23195,6 +23206,14 @@ def normalization(self) -> Optional[str]: """ return pulumi.get(self, "normalization") + @property + @pulumi.getter(name="oneagentAttributeKey") + def oneagent_attribute_key(self) -> Optional[str]: + """ + The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + """ + return pulumi.get(self, "oneagent_attribute_key") + @property @pulumi.getter(name="requestAttribute") def request_attribute(self) -> Optional[str]: @@ -31622,6 +31641,96 @@ def property(self) -> str: return pulumi.get(self, "property") +@pulumi.output_type +class DefaultLaunchpadGroupLaunchpads(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "groupLaunchpads": + suggest = "group_launchpads" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DefaultLaunchpadGroupLaunchpads. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DefaultLaunchpadGroupLaunchpads.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DefaultLaunchpadGroupLaunchpads.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + group_launchpads: Sequence['outputs.DefaultLaunchpadGroupLaunchpadsGroupLaunchpad']): + pulumi.set(__self__, "group_launchpads", group_launchpads) + + @property + @pulumi.getter(name="groupLaunchpads") + def group_launchpads(self) -> Sequence['outputs.DefaultLaunchpadGroupLaunchpadsGroupLaunchpad']: + return pulumi.get(self, "group_launchpads") + + +@pulumi.output_type +class DefaultLaunchpadGroupLaunchpadsGroupLaunchpad(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isEnabled": + suggest = "is_enabled" + elif key == "launchpadId": + suggest = "launchpad_id" + elif key == "userGroupId": + suggest = "user_group_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DefaultLaunchpadGroupLaunchpadsGroupLaunchpad. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DefaultLaunchpadGroupLaunchpadsGroupLaunchpad.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DefaultLaunchpadGroupLaunchpadsGroupLaunchpad.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_enabled: bool, + launchpad_id: str, + user_group_id: str): + """ + :param bool is_enabled: State + :param str launchpad_id: Launchpad + :param str user_group_id: User Group + """ + pulumi.set(__self__, "is_enabled", is_enabled) + pulumi.set(__self__, "launchpad_id", launchpad_id) + pulumi.set(__self__, "user_group_id", user_group_id) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> bool: + """ + State + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="launchpadId") + def launchpad_id(self) -> str: + """ + Launchpad + """ + return pulumi.get(self, "launchpad_id") + + @property + @pulumi.getter(name="userGroupId") + def user_group_id(self) -> str: + """ + User Group + """ + return pulumi.get(self, "user_group_id") + + @pulumi.output_type class DirectSharesRecipients(dict): def __init__(__self__, *, @@ -48776,28 +48885,21 @@ def rules(self) -> Sequence['outputs.KubernetesEnrichmentRulesRule']: @pulumi.output_type class KubernetesEnrichmentRulesRule(dict): def __init__(__self__, *, - enabled: bool, source: str, target: str, - type: str): + type: str, + enabled: Optional[bool] = None): """ - :param bool enabled: This setting is enabled (`true`) or disabled (`false`) :param str source: The source must follow the syntax of Kubernetes annotation/label keys as defined in the [Kubernetes documentation](https://dt-url.net/2c02sbn). :param str target: Possible Values: `Dt_cost_costcenter`, `Dt_cost_product`, `Dt_security_context` :param str type: Possible Values: `ANNOTATION`, `LABEL` + :param bool enabled: This setting is enabled (`true`) or disabled (`false`) """ - pulumi.set(__self__, "enabled", enabled) pulumi.set(__self__, "source", source) pulumi.set(__self__, "target", target) pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def enabled(self) -> bool: - """ - This setting is enabled (`true`) or disabled (`false`) - """ - return pulumi.get(self, "enabled") + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property @pulumi.getter @@ -48823,6 +48925,15 @@ def type(self) -> str: """ return pulumi.get(self, "type") + @property + @pulumi.getter + @_utilities.deprecated("""Attribute no longer exists in the schema.""") + def enabled(self) -> Optional[bool]: + """ + This setting is enabled (`true`) or disabled (`false`) + """ + return pulumi.get(self, "enabled") + @pulumi.output_type class KubernetesEventPatterns(dict): @@ -86548,6 +86659,8 @@ def __key_warning(key: str): suggest = "delimiter_or_regex" elif key == "endDelimiter": suggest = "end_delimiter" + elif key == "oneagentAttributeKey": + suggest = "oneagent_attribute_key" elif key == "requestAttribute": suggest = "request_attribute" elif key == "useFromChildCalls": @@ -86572,6 +86685,7 @@ def __init__(__self__, *, delimiter_or_regex: Optional[str] = None, end_delimiter: Optional[str] = None, normalization: Optional[str] = None, + oneagent_attribute_key: Optional[str] = None, request_attribute: Optional[str] = None, source: Optional['outputs.RequestNamingPlaceholdersPlaceholderSource'] = None, unknowns: Optional[str] = None, @@ -86593,6 +86707,7 @@ def __init__(__self__, *, * All other values: The delimiter string to look for :param str end_delimiter: The closing delimiter string to look for. Required if the `kind` value is `BETWEEN_DELIMITER`. Not applicable otherwise :param str normalization: The format of the extracted string. Possible values are `ORIGINAL`, `TO_LOWER_CASE` and `TO_UPPER_CASE` + :param str oneagent_attribute_key: The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. :param str request_attribute: The request attribute to extract from. Required if the `kind` value is `SERVICE_REQUEST_ATTRIBUTE`. Not applicable otherwise :param 'RequestNamingPlaceholdersPlaceholderSourceArgs' source: Defines valid sources of request attributes for conditions or placeholders :param str unknowns: allows for configuring properties that are not explicitly supported by the current version of this provider @@ -86609,6 +86724,8 @@ def __init__(__self__, *, pulumi.set(__self__, "end_delimiter", end_delimiter) if normalization is not None: pulumi.set(__self__, "normalization", normalization) + if oneagent_attribute_key is not None: + pulumi.set(__self__, "oneagent_attribute_key", oneagent_attribute_key) if request_attribute is not None: pulumi.set(__self__, "request_attribute", request_attribute) if source is not None: @@ -86683,6 +86800,14 @@ def normalization(self) -> Optional[str]: """ return pulumi.get(self, "normalization") + @property + @pulumi.getter(name="oneagentAttributeKey") + def oneagent_attribute_key(self) -> Optional[str]: + """ + The One Agent attribute to extract from. Required if the kind value is `ONE_AGENT_ATTRIBUTE`. Not applicable otherwise. + """ + return pulumi.get(self, "oneagent_attribute_key") + @property @pulumi.getter(name="requestAttribute") def request_attribute(self) -> Optional[str]: @@ -108654,6 +108779,70 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class GetGeoCitiesCityResult(dict): + def __init__(__self__, *, + latitude: float, + longitude: float, + name: str): + pulumi.set(__self__, "latitude", latitude) + pulumi.set(__self__, "longitude", longitude) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def latitude(self) -> float: + return pulumi.get(self, "latitude") + + @property + @pulumi.getter + def longitude(self) -> float: + return pulumi.get(self, "longitude") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetGeoCountriesCountryResult(dict): + def __init__(__self__, *, + code: str, + name: str): + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def code(self) -> str: + return pulumi.get(self, "code") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetGeoRegionsRegionResult(dict): + def __init__(__self__, *, + code: str, + name: str): + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def code(self) -> str: + return pulumi.get(self, "code") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @pulumi.output_type class GetHubItemsItemResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumiverse_dynatrace/pagerduty_connection.py b/sdk/python/pulumiverse_dynatrace/pagerduty_connection.py new file mode 100644 index 00000000..dc863cf0 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/pagerduty_connection.py @@ -0,0 +1,246 @@ +# 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__ = ['PagerdutyConnectionArgs', 'PagerdutyConnection'] + +@pulumi.input_type +class PagerdutyConnectionArgs: + def __init__(__self__, *, + token: pulumi.Input[str], + url: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PagerdutyConnection resource. + :param pulumi.Input[str] token: Token for the PagerDuty API endpoint + :param pulumi.Input[str] url: URL of the PagerDuty API endpoint + :param pulumi.Input[str] name: The name of the PagerDuty connection + """ + pulumi.set(__self__, "token", token) + pulumi.set(__self__, "url", url) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def token(self) -> pulumi.Input[str]: + """ + Token for the PagerDuty API endpoint + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[str]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + URL of the PagerDuty API endpoint + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the PagerDuty connection + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _PagerdutyConnectionState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering PagerdutyConnection resources. + :param pulumi.Input[str] name: The name of the PagerDuty connection + :param pulumi.Input[str] token: Token for the PagerDuty API endpoint + :param pulumi.Input[str] url: URL of the PagerDuty API endpoint + """ + if name is not None: + pulumi.set(__self__, "name", name) + if token is not None: + pulumi.set(__self__, "token", token) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the PagerDuty connection + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + Token for the PagerDuty API endpoint + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the PagerDuty API endpoint + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class PagerdutyConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a PagerdutyConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the PagerDuty connection + :param pulumi.Input[str] token: Token for the PagerDuty API endpoint + :param pulumi.Input[str] url: URL of the PagerDuty API endpoint + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PagerdutyConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a PagerdutyConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param PagerdutyConnectionArgs 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(PagerdutyConnectionArgs, 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, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: 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__ = PagerdutyConnectionArgs.__new__(PagerdutyConnectionArgs) + + __props__.__dict__["name"] = name + if token is None and not opts.urn: + raise TypeError("Missing required property 'token'") + __props__.__dict__["token"] = None if token is None else pulumi.Output.secret(token) + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(PagerdutyConnection, __self__).__init__( + 'dynatrace:index/pagerdutyConnection:PagerdutyConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'PagerdutyConnection': + """ + Get an existing PagerdutyConnection 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] name: The name of the PagerDuty connection + :param pulumi.Input[str] token: Token for the PagerDuty API endpoint + :param pulumi.Input[str] url: URL of the PagerDuty API endpoint + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PagerdutyConnectionState.__new__(_PagerdutyConnectionState) + + __props__.__dict__["name"] = name + __props__.__dict__["token"] = token + __props__.__dict__["url"] = url + return PagerdutyConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the PagerDuty connection + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def token(self) -> pulumi.Output[str]: + """ + Token for the PagerDuty API endpoint + """ + return pulumi.get(self, "token") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + URL of the PagerDuty API endpoint + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumiverse_dynatrace/problem_fields.py b/sdk/python/pulumiverse_dynatrace/problem_fields.py new file mode 100644 index 00000000..1c5cd00b --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/problem_fields.py @@ -0,0 +1,245 @@ +# 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__ = ['ProblemFieldsArgs', 'ProblemFields'] + +@pulumi.input_type +class ProblemFieldsArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + event_field: pulumi.Input[str], + problem_field: pulumi.Input[str]): + """ + The set of arguments for constructing a ProblemFields resource. + :param pulumi.Input[bool] enabled: This setting is enabled (`true`) or disabled (`false`) + :param pulumi.Input[str] event_field: Field from the event that will be extracted. + :param pulumi.Input[str] problem_field: Field under which the extracted event data will be stored on the problem. + """ + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "event_field", event_field) + pulumi.set(__self__, "problem_field", problem_field) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + This setting is enabled (`true`) or disabled (`false`) + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="eventField") + def event_field(self) -> pulumi.Input[str]: + """ + Field from the event that will be extracted. + """ + return pulumi.get(self, "event_field") + + @event_field.setter + def event_field(self, value: pulumi.Input[str]): + pulumi.set(self, "event_field", value) + + @property + @pulumi.getter(name="problemField") + def problem_field(self) -> pulumi.Input[str]: + """ + Field under which the extracted event data will be stored on the problem. + """ + return pulumi.get(self, "problem_field") + + @problem_field.setter + def problem_field(self, value: pulumi.Input[str]): + pulumi.set(self, "problem_field", value) + + +@pulumi.input_type +class _ProblemFieldsState: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + event_field: Optional[pulumi.Input[str]] = None, + problem_field: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ProblemFields resources. + :param pulumi.Input[bool] enabled: This setting is enabled (`true`) or disabled (`false`) + :param pulumi.Input[str] event_field: Field from the event that will be extracted. + :param pulumi.Input[str] problem_field: Field under which the extracted event data will be stored on the problem. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if event_field is not None: + pulumi.set(__self__, "event_field", event_field) + if problem_field is not None: + pulumi.set(__self__, "problem_field", problem_field) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + This setting is enabled (`true`) or disabled (`false`) + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="eventField") + def event_field(self) -> Optional[pulumi.Input[str]]: + """ + Field from the event that will be extracted. + """ + return pulumi.get(self, "event_field") + + @event_field.setter + def event_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_field", value) + + @property + @pulumi.getter(name="problemField") + def problem_field(self) -> Optional[pulumi.Input[str]]: + """ + Field under which the extracted event data will be stored on the problem. + """ + return pulumi.get(self, "problem_field") + + @problem_field.setter + def problem_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "problem_field", value) + + +class ProblemFields(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + enabled: Optional[pulumi.Input[bool]] = None, + event_field: Optional[pulumi.Input[str]] = None, + problem_field: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a ProblemFields resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enabled: This setting is enabled (`true`) or disabled (`false`) + :param pulumi.Input[str] event_field: Field from the event that will be extracted. + :param pulumi.Input[str] problem_field: Field under which the extracted event data will be stored on the problem. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProblemFieldsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a ProblemFields resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param ProblemFieldsArgs 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(ProblemFieldsArgs, 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, + enabled: Optional[pulumi.Input[bool]] = None, + event_field: Optional[pulumi.Input[str]] = None, + problem_field: 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__ = ProblemFieldsArgs.__new__(ProblemFieldsArgs) + + if enabled is None and not opts.urn: + raise TypeError("Missing required property 'enabled'") + __props__.__dict__["enabled"] = enabled + if event_field is None and not opts.urn: + raise TypeError("Missing required property 'event_field'") + __props__.__dict__["event_field"] = event_field + if problem_field is None and not opts.urn: + raise TypeError("Missing required property 'problem_field'") + __props__.__dict__["problem_field"] = problem_field + super(ProblemFields, __self__).__init__( + 'dynatrace:index/problemFields:ProblemFields', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + enabled: Optional[pulumi.Input[bool]] = None, + event_field: Optional[pulumi.Input[str]] = None, + problem_field: Optional[pulumi.Input[str]] = None) -> 'ProblemFields': + """ + Get an existing ProblemFields 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[bool] enabled: This setting is enabled (`true`) or disabled (`false`) + :param pulumi.Input[str] event_field: Field from the event that will be extracted. + :param pulumi.Input[str] problem_field: Field under which the extracted event data will be stored on the problem. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProblemFieldsState.__new__(_ProblemFieldsState) + + __props__.__dict__["enabled"] = enabled + __props__.__dict__["event_field"] = event_field + __props__.__dict__["problem_field"] = problem_field + return ProblemFields(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Output[bool]: + """ + This setting is enabled (`true`) or disabled (`false`) + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="eventField") + def event_field(self) -> pulumi.Output[str]: + """ + Field from the event that will be extracted. + """ + return pulumi.get(self, "event_field") + + @property + @pulumi.getter(name="problemField") + def problem_field(self) -> pulumi.Output[str]: + """ + Field under which the extracted event data will be stored on the problem. + """ + return pulumi.get(self, "problem_field") + diff --git a/sdk/python/pulumiverse_dynatrace/process_group_detection_flags.py b/sdk/python/pulumiverse_dynatrace/process_group_detection_flags.py index f1a23b4b..ad5421aa 100644 --- a/sdk/python/pulumiverse_dynatrace/process_group_detection_flags.py +++ b/sdk/python/pulumiverse_dynatrace/process_group_detection_flags.py @@ -34,7 +34,8 @@ def __init__(__self__, *, split_oracle_listener_pg: pulumi.Input[bool], use_catalina_base: pulumi.Input[bool], use_docker_container_name: pulumi.Input[bool], - scope: Optional[pulumi.Input[str]] = None): + scope: Optional[pulumi.Input[str]] = None, + security_software_detection_enabled: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a ProcessGroupDetectionFlags resource. :param pulumi.Input[bool] add_node_js_script_name: In older versions, Node.js applications were distinguished based on their directory name, omitting the script name. Changing this setting may change the general handling of Node.js process groups. Leave unchanged if in doubt. @@ -53,6 +54,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] use_catalina_base: By default, Tomcat clusters are identified and named based on the CATALINA*HOME directory name. This setting results in the use of the CATALINA*BASE directory name to identify multiple Tomcat nodes within each Tomcat cluster. If this setting is not enabled, each CATALINA*HOME+CATALINA*BASE combination will be considered a separate Tomcat cluster. In other words, Tomcat clusters can't have multiple nodes on a single host. :param pulumi.Input[bool] use_docker_container_name: By default, Dynatrace uses image names as identifiers for individual process groups, with one process-group instance per host. Normally Docker container names can't serve as stable identifiers of process group instances because they are variable and auto-generated. You can however manually assign proper container names to their Docker instances. Such manually-assigned container names can serve as reliable process-group instance identifiers. This flag instructs Dynatrace to use Docker-provided names to distinguish between multiple instances of the same image. If this flag is not applied and you run multiple containers of the same image on the same host, the resulting processes will be consolidated into a single process view. Use this flag with caution! :param pulumi.Input[str] scope: The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. + :param pulumi.Input[bool] security_software_detection_enabled: This flag enables the detection of security software such as anti-malware protection. """ pulumi.set(__self__, "add_node_js_script_name", add_node_js_script_name) pulumi.set(__self__, "auto_detect_cassandra_clusters", auto_detect_cassandra_clusters) @@ -71,6 +73,8 @@ def __init__(__self__, *, pulumi.set(__self__, "use_docker_container_name", use_docker_container_name) if scope is not None: pulumi.set(__self__, "scope", scope) + if security_software_detection_enabled is not None: + pulumi.set(__self__, "security_software_detection_enabled", security_software_detection_enabled) @property @pulumi.getter(name="addNodeJsScriptName") @@ -264,6 +268,18 @@ def scope(self) -> Optional[pulumi.Input[str]]: def scope(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "scope", value) + @property + @pulumi.getter(name="securitySoftwareDetectionEnabled") + def security_software_detection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + This flag enables the detection of security software such as anti-malware protection. + """ + return pulumi.get(self, "security_software_detection_enabled") + + @security_software_detection_enabled.setter + def security_software_detection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "security_software_detection_enabled", value) + @pulumi.input_type class _ProcessGroupDetectionFlagsState: @@ -279,6 +295,7 @@ def __init__(__self__, *, identify_jboss_server_by_system_property: Optional[pulumi.Input[bool]] = None, ignore_unique_identifiers: Optional[pulumi.Input[bool]] = None, scope: Optional[pulumi.Input[str]] = None, + security_software_detection_enabled: Optional[pulumi.Input[bool]] = None, short_lived_processes_monitoring: Optional[pulumi.Input[bool]] = None, split_oracle_database_pg: Optional[pulumi.Input[bool]] = None, split_oracle_listener_pg: Optional[pulumi.Input[bool]] = None, @@ -297,6 +314,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] identify_jboss_server_by_system_property: Enabling this flag will detect the JBoss server name from the system property jboss.server.name=\\n\\n, only if -D[Server:\\n\\n] is not set. :param pulumi.Input[bool] ignore_unique_identifiers: To determine the unique identity of each detected process, and to generate a unique name for each detected process, Dynatrace evaluates the name of the directory that each process binary is contained within. For application containers like Tomcat and JBoss, Dynatrace evaluates important directories like CATALINA*HOME and JBOSS*HOME for this information. In some automated deployment scenarios such directory names are updated automatically with new version numbers, build numbers, dates, or GUIDs. Enable this setting to ensure that automated directory name changes don't result in Dynatrace registering pre-existing processes as new processes. :param pulumi.Input[str] scope: The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. + :param pulumi.Input[bool] security_software_detection_enabled: This flag enables the detection of security software such as anti-malware protection. :param pulumi.Input[bool] short_lived_processes_monitoring: Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. :param pulumi.Input[bool] split_oracle_database_pg: Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. :param pulumi.Input[bool] split_oracle_listener_pg: Enable to group and separately analyze the processes of each Oracle Listener. Each process group receives a unique name based on the Oracle Listener name. @@ -325,6 +343,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ignore_unique_identifiers", ignore_unique_identifiers) if scope is not None: pulumi.set(__self__, "scope", scope) + if security_software_detection_enabled is not None: + pulumi.set(__self__, "security_software_detection_enabled", security_software_detection_enabled) if short_lived_processes_monitoring is not None: pulumi.set(__self__, "short_lived_processes_monitoring", short_lived_processes_monitoring) if split_oracle_database_pg is not None: @@ -468,6 +488,18 @@ def scope(self) -> Optional[pulumi.Input[str]]: def scope(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "scope", value) + @property + @pulumi.getter(name="securitySoftwareDetectionEnabled") + def security_software_detection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + This flag enables the detection of security software such as anti-malware protection. + """ + return pulumi.get(self, "security_software_detection_enabled") + + @security_software_detection_enabled.setter + def security_software_detection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "security_software_detection_enabled", value) + @property @pulumi.getter(name="shortLivedProcessesMonitoring") def short_lived_processes_monitoring(self) -> Optional[pulumi.Input[bool]]: @@ -545,6 +577,7 @@ def __init__(__self__, identify_jboss_server_by_system_property: Optional[pulumi.Input[bool]] = None, ignore_unique_identifiers: Optional[pulumi.Input[bool]] = None, scope: Optional[pulumi.Input[str]] = None, + security_software_detection_enabled: Optional[pulumi.Input[bool]] = None, short_lived_processes_monitoring: Optional[pulumi.Input[bool]] = None, split_oracle_database_pg: Optional[pulumi.Input[bool]] = None, split_oracle_listener_pg: Optional[pulumi.Input[bool]] = None, @@ -566,6 +599,7 @@ def __init__(__self__, :param pulumi.Input[bool] identify_jboss_server_by_system_property: Enabling this flag will detect the JBoss server name from the system property jboss.server.name=\\n\\n, only if -D[Server:\\n\\n] is not set. :param pulumi.Input[bool] ignore_unique_identifiers: To determine the unique identity of each detected process, and to generate a unique name for each detected process, Dynatrace evaluates the name of the directory that each process binary is contained within. For application containers like Tomcat and JBoss, Dynatrace evaluates important directories like CATALINA*HOME and JBOSS*HOME for this information. In some automated deployment scenarios such directory names are updated automatically with new version numbers, build numbers, dates, or GUIDs. Enable this setting to ensure that automated directory name changes don't result in Dynatrace registering pre-existing processes as new processes. :param pulumi.Input[str] scope: The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. + :param pulumi.Input[bool] security_software_detection_enabled: This flag enables the detection of security software such as anti-malware protection. :param pulumi.Input[bool] short_lived_processes_monitoring: Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. :param pulumi.Input[bool] split_oracle_database_pg: Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. :param pulumi.Input[bool] split_oracle_listener_pg: Enable to group and separately analyze the processes of each Oracle Listener. Each process group receives a unique name based on the Oracle Listener name. @@ -606,6 +640,7 @@ def _internal_init(__self__, identify_jboss_server_by_system_property: Optional[pulumi.Input[bool]] = None, ignore_unique_identifiers: Optional[pulumi.Input[bool]] = None, scope: Optional[pulumi.Input[str]] = None, + security_software_detection_enabled: Optional[pulumi.Input[bool]] = None, short_lived_processes_monitoring: Optional[pulumi.Input[bool]] = None, split_oracle_database_pg: Optional[pulumi.Input[bool]] = None, split_oracle_listener_pg: Optional[pulumi.Input[bool]] = None, @@ -651,6 +686,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'ignore_unique_identifiers'") __props__.__dict__["ignore_unique_identifiers"] = ignore_unique_identifiers __props__.__dict__["scope"] = scope + __props__.__dict__["security_software_detection_enabled"] = security_software_detection_enabled if short_lived_processes_monitoring is None and not opts.urn: raise TypeError("Missing required property 'short_lived_processes_monitoring'") __props__.__dict__["short_lived_processes_monitoring"] = short_lived_processes_monitoring @@ -687,6 +723,7 @@ def get(resource_name: str, identify_jboss_server_by_system_property: Optional[pulumi.Input[bool]] = None, ignore_unique_identifiers: Optional[pulumi.Input[bool]] = None, scope: Optional[pulumi.Input[str]] = None, + security_software_detection_enabled: Optional[pulumi.Input[bool]] = None, short_lived_processes_monitoring: Optional[pulumi.Input[bool]] = None, split_oracle_database_pg: Optional[pulumi.Input[bool]] = None, split_oracle_listener_pg: Optional[pulumi.Input[bool]] = None, @@ -710,6 +747,7 @@ def get(resource_name: str, :param pulumi.Input[bool] identify_jboss_server_by_system_property: Enabling this flag will detect the JBoss server name from the system property jboss.server.name=\\n\\n, only if -D[Server:\\n\\n] is not set. :param pulumi.Input[bool] ignore_unique_identifiers: To determine the unique identity of each detected process, and to generate a unique name for each detected process, Dynatrace evaluates the name of the directory that each process binary is contained within. For application containers like Tomcat and JBoss, Dynatrace evaluates important directories like CATALINA*HOME and JBOSS*HOME for this information. In some automated deployment scenarios such directory names are updated automatically with new version numbers, build numbers, dates, or GUIDs. Enable this setting to ensure that automated directory name changes don't result in Dynatrace registering pre-existing processes as new processes. :param pulumi.Input[str] scope: The scope of this setting (HOST, HOST_GROUP). Omit this property if you want to cover the whole environment. + :param pulumi.Input[bool] security_software_detection_enabled: This flag enables the detection of security software such as anti-malware protection. :param pulumi.Input[bool] short_lived_processes_monitoring: Enable to monitor CPU and memory usage of short lived processes, otherwise being lost by traditional monitoring. Disabling this flag blocks passing data to cluster only, it does not stop data collection and has no effect on performance. :param pulumi.Input[bool] split_oracle_database_pg: Enable to group and separately analyze the processes of each Oracle DB. Each process group receives a unique name based on the Oracle DB SID. :param pulumi.Input[bool] split_oracle_listener_pg: Enable to group and separately analyze the processes of each Oracle Listener. Each process group receives a unique name based on the Oracle Listener name. @@ -731,6 +769,7 @@ def get(resource_name: str, __props__.__dict__["identify_jboss_server_by_system_property"] = identify_jboss_server_by_system_property __props__.__dict__["ignore_unique_identifiers"] = ignore_unique_identifiers __props__.__dict__["scope"] = scope + __props__.__dict__["security_software_detection_enabled"] = security_software_detection_enabled __props__.__dict__["short_lived_processes_monitoring"] = short_lived_processes_monitoring __props__.__dict__["split_oracle_database_pg"] = split_oracle_database_pg __props__.__dict__["split_oracle_listener_pg"] = split_oracle_listener_pg @@ -826,6 +865,14 @@ def scope(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "scope") + @property + @pulumi.getter(name="securitySoftwareDetectionEnabled") + def security_software_detection_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + This flag enables the detection of security software such as anti-malware protection. + """ + return pulumi.get(self, "security_software_detection_enabled") + @property @pulumi.getter(name="shortLivedProcessesMonitoring") def short_lived_processes_monitoring(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumiverse_dynatrace/servicenow_connection.py b/sdk/python/pulumiverse_dynatrace/servicenow_connection.py new file mode 100644 index 00000000..f23cf967 --- /dev/null +++ b/sdk/python/pulumiverse_dynatrace/servicenow_connection.py @@ -0,0 +1,340 @@ +# 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__ = ['ServicenowConnectionArgs', 'ServicenowConnection'] + +@pulumi.input_type +class ServicenowConnectionArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + url: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ServicenowConnection resource. + :param pulumi.Input[str] type: Possible Values: `basic` + :param pulumi.Input[str] url: URL of the ServiceNow instance. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name to your ServiceNow instance. + :param pulumi.Input[str] password: Password of the ServiceNow user. + :param pulumi.Input[str] user: Username or Email address. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "url", url) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Possible Values: `basic` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + URL of the ServiceNow instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name to your ServiceNow instance. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password of the ServiceNow user. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def user(self) -> Optional[pulumi.Input[str]]: + """ + Username or Email address. + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +@pulumi.input_type +class _ServicenowConnectionState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ServicenowConnection resources. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name to your ServiceNow instance. + :param pulumi.Input[str] password: Password of the ServiceNow user. + :param pulumi.Input[str] type: Possible Values: `basic` + :param pulumi.Input[str] url: URL of the ServiceNow instance. + :param pulumi.Input[str] user: Username or Email address. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if type is not None: + pulumi.set(__self__, "type", type) + if url is not None: + pulumi.set(__self__, "url", url) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique and clearly identifiable connection name to your ServiceNow instance. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password of the ServiceNow user. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Possible Values: `basic` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the ServiceNow instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def user(self) -> Optional[pulumi.Input[str]]: + """ + Username or Email address. + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +class ServicenowConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a ServicenowConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: A unique and clearly identifiable connection name to your ServiceNow instance. + :param pulumi.Input[str] password: Password of the ServiceNow user. + :param pulumi.Input[str] type: Possible Values: `basic` + :param pulumi.Input[str] url: URL of the ServiceNow instance. + :param pulumi.Input[str] user: Username or Email address. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ServicenowConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a ServicenowConnection resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param ServicenowConnectionArgs 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(ServicenowConnectionArgs, 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, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + user: 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__ = ServicenowConnectionArgs.__new__(ServicenowConnectionArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["user"] = user + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ServicenowConnection, __self__).__init__( + 'dynatrace:index/servicenowConnection:ServicenowConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None) -> 'ServicenowConnection': + """ + Get an existing ServicenowConnection 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] name: A unique and clearly identifiable connection name to your ServiceNow instance. + :param pulumi.Input[str] password: Password of the ServiceNow user. + :param pulumi.Input[str] type: Possible Values: `basic` + :param pulumi.Input[str] url: URL of the ServiceNow instance. + :param pulumi.Input[str] user: Username or Email address. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ServicenowConnectionState.__new__(_ServicenowConnectionState) + + __props__.__dict__["name"] = name + __props__.__dict__["password"] = password + __props__.__dict__["type"] = type + __props__.__dict__["url"] = url + __props__.__dict__["user"] = user + return ServicenowConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A unique and clearly identifiable connection name to your ServiceNow instance. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[Optional[str]]: + """ + Password of the ServiceNow user. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Possible Values: `basic` + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + URL of the ServiceNow instance. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter + def user(self) -> pulumi.Output[Optional[str]]: + """ + Username or Email address. + """ + return pulumi.get(self, "user") + diff --git a/sdk/python/pulumiverse_dynatrace/synthetic_location.py b/sdk/python/pulumiverse_dynatrace/synthetic_location.py index e2c22c48..11e78b80 100644 --- a/sdk/python/pulumiverse_dynatrace/synthetic_location.py +++ b/sdk/python/pulumiverse_dynatrace/synthetic_location.py @@ -44,8 +44,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] availability_node_outage: The alerting of node outage is enabled (`true`) or disabled (`false`). :param pulumi.Input[bool] availability_notifications_enabled: The notifications of location and node outage is enabled (`true`) or disabled (`false`) :param pulumi.Input[str] city: The city of the location - :param pulumi.Input[str] country_code: The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + :param pulumi.Input[str] country_code: The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request :param pulumi.Input[str] deployment_type: The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The location is deployed on Kubernetes :param pulumi.Input[int] location_node_outage_delay_in_minutes: Alert if the location or node outage lasts longer than *X* minutes. Only applicable when @@ -56,9 +56,8 @@ def __init__(__self__, *, :param pulumi.Input[str] node_size: Possible values: `UNSUPPORTED`, `XS`, `S` and `M`. Not required when `deployment_type` is set to `STANDARD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] nodes: A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all nodes](https://dt-url.net/miy3rpl) call - :param pulumi.Input[str] region_code: The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + :param pulumi.Input[str] region_code: The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ pulumi.set(__self__, "latitude", latitude) pulumi.set(__self__, "longitude", longitude) @@ -179,8 +178,8 @@ def city(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="countryCode") def country_code(self) -> Optional[pulumi.Input[str]]: """ - The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request """ return pulumi.get(self, "country_code") @@ -279,9 +278,8 @@ def nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="regionCode") def region_code(self) -> Optional[pulumi.Input[str]]: """ - The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ return pulumi.get(self, "region_code") @@ -316,8 +314,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] availability_node_outage: The alerting of node outage is enabled (`true`) or disabled (`false`). :param pulumi.Input[bool] availability_notifications_enabled: The notifications of location and node outage is enabled (`true`) or disabled (`false`) :param pulumi.Input[str] city: The city of the location - :param pulumi.Input[str] country_code: The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + :param pulumi.Input[str] country_code: The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request :param pulumi.Input[str] deployment_type: The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The location is deployed on Kubernetes :param pulumi.Input[float] latitude: The latitude of the location in `DDD.dddd` format @@ -330,9 +328,8 @@ def __init__(__self__, *, :param pulumi.Input[str] node_size: Possible values: `UNSUPPORTED`, `XS`, `S` and `M`. Not required when `deployment_type` is set to `STANDARD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] nodes: A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all nodes](https://dt-url.net/miy3rpl) call - :param pulumi.Input[str] region_code: The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + :param pulumi.Input[str] region_code: The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ if auto_update_chromium is not None: pulumi.set(__self__, "auto_update_chromium", auto_update_chromium) @@ -431,8 +428,8 @@ def city(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="countryCode") def country_code(self) -> Optional[pulumi.Input[str]]: """ - The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request """ return pulumi.get(self, "country_code") @@ -555,9 +552,8 @@ def nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="regionCode") def region_code(self) -> Optional[pulumi.Input[str]]: """ - The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ return pulumi.get(self, "region_code") @@ -597,8 +593,8 @@ def __init__(__self__, :param pulumi.Input[bool] availability_node_outage: The alerting of node outage is enabled (`true`) or disabled (`false`). :param pulumi.Input[bool] availability_notifications_enabled: The notifications of location and node outage is enabled (`true`) or disabled (`false`) :param pulumi.Input[str] city: The city of the location - :param pulumi.Input[str] country_code: The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + :param pulumi.Input[str] country_code: The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request :param pulumi.Input[str] deployment_type: The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The location is deployed on Kubernetes :param pulumi.Input[float] latitude: The latitude of the location in `DDD.dddd` format @@ -611,9 +607,8 @@ def __init__(__self__, :param pulumi.Input[str] node_size: Possible values: `UNSUPPORTED`, `XS`, `S` and `M`. Not required when `deployment_type` is set to `STANDARD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] nodes: A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all nodes](https://dt-url.net/miy3rpl) call - :param pulumi.Input[str] region_code: The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + :param pulumi.Input[str] region_code: The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ ... @overload @@ -721,8 +716,8 @@ def get(resource_name: str, :param pulumi.Input[bool] availability_node_outage: The alerting of node outage is enabled (`true`) or disabled (`false`). :param pulumi.Input[bool] availability_notifications_enabled: The notifications of location and node outage is enabled (`true`) or disabled (`false`) :param pulumi.Input[str] city: The city of the location - :param pulumi.Input[str] country_code: The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + :param pulumi.Input[str] country_code: The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request :param pulumi.Input[str] deployment_type: The deployment type of the location: * `STANDARD`: The location is deployed on Windows or Linux. * `KUBERNETES`: The location is deployed on Kubernetes :param pulumi.Input[float] latitude: The latitude of the location in `DDD.dddd` format @@ -735,9 +730,8 @@ def get(resource_name: str, :param pulumi.Input[str] node_size: Possible values: `UNSUPPORTED`, `XS`, `S` and `M`. Not required when `deployment_type` is set to `STANDARD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] nodes: A list of synthetic nodes belonging to the location. You can retrieve the list of available nodes with the [GET all nodes](https://dt-url.net/miy3rpl) call - :param pulumi.Input[str] region_code: The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + :param pulumi.Input[str] region_code: The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -805,8 +799,8 @@ def city(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="countryCode") def country_code(self) -> pulumi.Output[Optional[str]]: """ - The country code of the location. Use the alpha-2 code of the [ISO 3166-2 standard](https://dt-url.net/iso3166-2), (for - example, `AT` for Austria or `PL` for Poland) + The country code of the location. To fetch the list of available country codes, use the [GET all + countries](https://dt-url.net/37030go) request """ return pulumi.get(self, "country_code") @@ -889,9 +883,8 @@ def nodes(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter(name="regionCode") def region_code(self) -> pulumi.Output[Optional[str]]: """ - The region code of the location. For the [USA](https://dt-url.net/iso3166us) or [Canada](https://dt-url.net/iso3166ca) - use ISO 3166-2 state codes (without `US-` or `CA-` prefix), for example, `VA` for Virginia or `OR` for Oregon. For the - rest of the world use [FIPS 10-4 codes](https://dt-url.net/fipscodes) + The region code of the location. To fetch the list of available region codes, use the [GET regions of the + country](https://dt-url.net/az230x0) request """ return pulumi.get(self, "region_code") diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 34b96416..746847af 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -18,7 +18,7 @@ def readme(): setup(name='pulumiverse_dynatrace', - python_requires='>=3.8', + python_requires='>=3.9', version=VERSION, description="A Pulumi package for creating and managing Dynatrace cloud resources.", long_description=readme(),